【发布时间】:2013-12-09 18:05:31
【问题描述】:
当我单击复选框以删除表格行时,我希望我的计算能够更新总计。我在类似的情况下通过简单地将计算和函数添加到删除行事件来完成此操作,但我似乎无法让它在这种情况下工作。
$(function () {
// Append Invoice Line
$(document).on('click', '#addnewitem', function () {
var currentTable = $(this).closest('table').attr('id');
$('#' + currentTable).append('<tr><td><div class="col-sm-6 col-lg-12"><input type="Client Name" class="form-control" id="c_name" placeholder="Item"></div></td><td><div class="col-sm-6 col-lg-12"><input type="Client Name" class="form-control" id="c_name" placeholder="Description"></div></td><td><div class="col-sm-6 col-lg-12"><input type="Client Name" class="form-control price" id="item_price" placeholder="Item Price" name="item_price[]"></div></td><td><button type="button" id="removeItem" class="btn btn- default"><span class="glyphicon glyphicon-trash"></span></td></tr>');
});
//Remove Invoice Line
$(document).on('click', '#removeItem', function () {
calculateTotal();
});
// Sum Amt Collected
function calculateSum () {
var sum = 0;
var currentTable = $(this).closest('table').attr('id');
$('#' + currentTable + ' input#item_price').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
$('#' + currentTable + ' input.sumamtcollected').val(sum.toFixed(2));
}
$(document).on('keyup', 'input#item_price', calculateSum);
});
【问题讨论】:
-
你可以为此制作 jsfiddle 吗?或者给演示页面?
-
能否提供一些 HTML 代码示例?