2014-12-13 108 views
0

我写了一段代码。该代码从用户接收两个输入并添加它们并将它们打印在一个单元格中,然后将相同的两个单元格相乘并将它们打印到另一个单元格中。这是我的代码正在工作,但在此之后,我试图采取两个结果并再次添加它们,这部分不起作用。使用jQuery在html表格中添加两个单元格

我在做什么错?

这里是提前

<HTML> 
<HEAD> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script> 
function addition(that){ 
var sum=0; 
$("."+that).each(function(){ 
if(!isNaN(this.value) && this.value.length!=0) { 
sum += parseFloat(this.value); 
} 
}); 
return(sum); 
} 
function multiply(that){ 
var prdt=1; 
$("."+that).each(function(){ 
if(!isNaN(this.value) && this.value.length!=0) { 
prdt *= parseFloat(this.value); 
} 
}); 
return(prdt); 
} 
</script> 
    </HEAD> 
<BODY> 
<table border='1'> 
<tr> 
<td><input class="a" id="c" type="number" name="quantity" min="0" max="99999999999" required/></td> 
<td><input class="a" id="b" type="number" name="quantity" min="0" max="99999999999" required/></td> 
<td class="z" id="sum">0</td> 
<td class="z" id="mul"></td> 
<td id="result"></td> 
</tr> 
<script> 
$(document).ready(function(){ 
$(".a").each(function(){ 
$(this).keyup(function(){ 
x=addition($(this).attr("class")); 
$("#sum").html(x); 

}); 
}); 

$(".a").each(function(){ 
$(this).keyup(function(){ 
x=multiply($(this).attr("class")); 
$("#mul").html(x); 

}); 
}); 

$("td.z").each(function(){ 
$(this).keyup(function(){ 
x=addition($(this).attr("class")); 
$("#result").html(x); 

}); 
}); 


}); 


</script> 
</table> 
</BODY> 
</html> 
+2

标点,男人。 – Terry 2014-12-13 15:56:44

+0

任何控制台错误? – 2014-12-13 15:58:15

+0

没有错误,它只是不显示值 – rajju 2014-12-13 16:25:05

回答

0

代码感谢我把你的代码的一部分,改变了它一点点。 其实,我用“的setInterval”功能与前两个字段的总和喂#result ......看一看:

<script> 
$(document).ready(function(){ 
$(".a").each(function(){ 
$(this).keyup(function(){ 
x=addition($(this).attr("class")); 
$("#sum").html(x); 

}); 
}); 

$(".a").each(function(){ 
$(this).keyup(function(){ 
x=multiply($(this).attr("class")); 
$("#mul").html(x); 

}); 
}); 

// $("td.z").each(function(){ 
// $(this).keyup(function(){ 
// x=addition($(this).attr("class")); 
// $("#result").html(x); 

setInterval(function() { 
var z = parseFloat($("#sum").text())+ parseFloat($("#mul").text()); 
if(!isNaN(z)) { 
    $("#result").text(z); 
} 
}, 500); 

}); 
}); 


}); 


</script> 

FIDDLE位置:http://jsfiddle.net/1rcuqskj/1/

希望这对你的作品!

+0

非常感谢你能解释我如何setInterval()函数的工作原理和这是什么500请解释我这两部分 – rajju 2014-12-14 08:00:03

+0

@rajju setInterval()以毫秒为单位以指定的时间间隔重复一个任务。在这种情况下,我随机选择500(毫秒),这意味着每半秒执行一次任务。如果您想将其更改为例如两秒钟,请将2000替换为2000,等等...... – 2014-12-15 12:12:02

相关问题