实时数据计算作为用户输入数据

时间:2013-05-07 00:07:15

标签: jquery

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

我正在尝试对小计,税金和总计进行同样的操作,但只是获得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();
   });  
});

1 个答案:

答案 0 :(得分:1)

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