我有这个表,其中包含输入,用于为客户生成报价和发票。主要目标是在用户输入和计算价格和数量时计算结果。
我正在尝试对小计,税金和总计进行同样的操作,但只是获得NaN。
可以通过jQuery添加用户需要的行,也可以用.live()进行计算(.on对我不起作用)
请检查这个jsfiddle http://jsfiddle.net/alexdoria/yJGMn/2/
这是我正在使用的jQuery:
$("input.op").live('input', function() {
$("tr.row").each(function() {
var qt = parseFloat($(this).find("input.cant").val());
var pr = parseFloat($(this).find("input.price").val());
var subParcial = qt * pr;
$(this).find("input.parc").val(subParcial.toFixed(2));
//subLiveCalc = function(){
var subs = 0;
$("input.parc").each(function(){
subs += parseFloat($(this).text());
});
$("div#partials span#subtotal").text(subs);
//}
//subLiveCalc();
});
});
答案 0 :(得分:1)
你的问题是你没有检查空格:如果你在空字符串上调用它,parseFloat
将返回NaN(当任何输入字段为空时会发生这种情况)。您应该检查空白/无效输入字段:如果任何必填字段为空或解析为NaN,则不要打扰完成计算或更新总计/小计。