我有一些复选框的值需要总结。选中复选框后,值将添加到数组中并显示。这是一个演示链接:http://jsfiddle.net/maxwellpayne/gKWmB/
但是,当我转到新行时,它将继续求和值而不是在行更改时重新清空数组.HTML代码很长,因此请在提供的链接上查看它。
这是总结它们的jquery代码:
var total_array = new Array();
var total_amount = 0;
$("#dailyexpense input[type=checkbox]:checked ").live('change', function() {
var check_id = $(this).attr('id');
var valu = $(this).val();
$("#tdtotals input[type=text]").each(function() {
totals_id = $(this).attr('id');
if (totals_id == check_id) {
total_array.push(valu);
total_amount = eval(total_array.join('+')).toFixed(2);
$(this).val(total_amount);
}
});
});
所有帮助将不胜感激
PS:但是,正在jsfiddle中编辑代码并使所有内容失真,请停止它。
最佳答案
尝试这个:
http://jsfiddle.net/gKWmB/3/
基本上,我们重新考虑结构。如果复选框的值更改,我们将获得其父行。然后,我们在该行中找到所有复选框。最后,我们将它们总计并显示。
//watch checkboxes
$('tr input[type=checkbox]').change( function(){
var total = 0;
//total all sibling checkboxes
$(this).parents('tr').find('input[type=checkbox]:checked').each( function() {
total += parseInt($(this).val());
});
//display the result
$(this).parents('tr').find('input[type=text]:last').val(total);
});
关于javascript - jQuery的:同一行的复选框的总和到同一行的文本字段的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7620736/