我使用JQUERY EACH函数动态调整12个文本框值,并使用此代码添加“txt”类:
<script>
$(document).ready(function(){
//iterate through each textboxes and add keyup
//handler to trigger sum event
$(".txt").each(function() {
$(this).keyup(function(){
calculateSum();
});
});
});
function calculateSum() {
var sum = 0;
//iterate through each textboxes and add the values
$(".txt").each(function() {
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseFloat(this.value);
}
});
$("#sum").html(sum);
</script>
我想创建使用每个仅3个文本框值动态计算的4个小计。我在表单中添加了4个不同的ID。我如何使用上面的函数动态计算当前id的小计。获得结果的spans id被命名为“ID_SUM”(根据修改的文本框的ID值,ID必须是动态的)? 非常感谢你。
答案 0 :(得分:0)
我找到了一个解决方案...... ID是唯一的,所以它不起作用。我使用了这样的name属性:
<script>
$(document).ready(function(){
//iterate through each textboxes and add keyup
//handler to trigger sum event
$(".txt").each(function() {
$(this).keyup(function(){
calculateSum($(this).attr("name"));
});
});
});
function calculateSum(groupe) {
var sum = 0;
var subtotal = 0
//iterate through each textboxes and add the values
$(".txt").each(function() {
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseFloat(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places : $("#sum").html(sum.toFixed(2))
$("#sum").html(sum);
$('input[name="' + groupe + '"]').each(function() {
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
subtotal += parseFloat(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places : $("#sum").html(sum.toFixed(2))
$("#" + groupe + "_SUM").html(subtotal);
}
</script>