0

我有这张表,其中包含用于为客户生成报价和发票的输入。主要目标是在用户输入和更改价格和数量时计算结果。

我正在尝试对小计、税收和总计做同样的事情,但只得到 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();
   });  
});
4

1 回答 1

1

您的问题是您没有检查空白:parseFloat如果您在空字符串上调用它,将返回 NaN(当任何输入字段为空白时会发生这种情况)。您应该检查空白/无效输入字段:如果任何必填字段为空白或解析为 NaN,则无需费心完成计算或更新总计/小计。

于 2013-05-07T00:12:21.627 回答