【问题标题】:Jquery Dynamic Sum of Inputs with same class具有相同类的 Jquery 动态输入总和
【发布时间】:2015-10-11 04:02:11
【问题描述】:

我编写了以下脚本。第一部分将连续每件商品的数量和成本相乘,并将其作为“.price”输入中的值相加。

第二部分我试图在添加每个 .price 时动态更新 #total 值。但我无法让这部分工作。

var total; 
$('.invoice').on('focus','.current' , function(){
    // Calculate Price
    $('.qty').keyup(function(){
        var qty = $( document.activeElement ).val();
        var value = $( document.activeElement ).siblings(".cost").val();
        $( document.activeElement ).siblings(".price").val(qty * value);
    });
    // Calculate Total
    $('.price').change(function(){
           $('.price').each(function(){
              price = $('.price').val();
              total = parseInt(total) || 0 + parseInt(price) || 0;
              $('#total').val(total);
           });
    });
});

【问题讨论】:

  • 能否请您也添加您的 html。谢谢。
  • 您需要在each 循环之前声明total 并使用total = total + price;,然后在每个循环之后分配总数。但是为什么.keyup().change()函数在on()函数里面呢?
  • 另外请发布您的html代码。
  • 我猜你想要this fiddle这样的东西?

标签: jquery add


【解决方案1】:

您的计算总部分应如下所示

 $('.price').change(function() {
   var total = 0;
   $('.price').each(function() {
     price = $('.price').val();
     total += parseInt(total) || 0 + parseInt(price) || 0;
   });
   $('#total').val(total);
 });

在每个循环之外声明变量total,并对所有值求和,并在每个循环之后(不是在每个循环中)附加到#total

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-24
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多