我正在寻找触发(调用)函数的最佳方法,该函数将对所有表行中的所有输入字段求和。 问题是,该字段可以手动操作(通过键入)或使用函数 - 写入它们的值(不触发事件)。
我希望sum函数会在add / remove row(tr),keypress,focusout ...上触发...
顺便说一下:我正在克隆表行,所以它们是动态创建的。
谢谢!
$(".val_field:input").live("focusout", function(){
val = parseFloat( $(this).val() );
sum += isNaN(val) ? 0 : val;
$("#sum").val( sum );
});
答案 0 :(得分:0)
这个问题很老,但任何答案都很有用
function recount(el){
var sum = 0;
el.parents('table').find('.val_field:input').each(function(){
var val = parseFloat( $(this).val() );
sum += isNaN(val) ? 0 : val;
});
$("#sum").val( sum );
}
$('table').on('keypress blur', '.val_field:input', function(){
recount($(this));
});
当然,您也可以在行删除时应用recount()
(这就是我将其分解的原因)。