仅计算相关行的总和

时间:2016-06-10 18:44:19

标签: javascript jquery html

所以我有几个小时无法解决的问题..

当我按下“Pridėtiprekę”按钮时,会在表格中动态添加一行,当我在“Kiekis”和“Kaina”列中写入数字时,“Suma”列中没有任何反应(只会动态添加行) )。

一块jQuery:

  let averagePower = audioRecorder.averagePowerForChannel(0)

请看JSFiddle如何“正常工作”我的代码:

https://jsfiddle.net/w5qz5exe/7/

提前感谢您的帮助!

P.S我试图从div ID total更改为div class total,然后它可以工作,但它适用于所有行而不是相关的。

2 个答案:

答案 0 :(得分:1)

您使用id引用了所有内容。

    $(document).on('keyup', '.quantity, .price', function() {
        var row = $(this).closest('tr');
        var rowPrice = $(row).find('.price').val();
        var rowQuantity = $(row).find('.quantity').val();

        $(row).find('.total').val( (rowPrice * rowQuantity).toFixed(2) )
    });

https://jsfiddle.net/w5qz5exe/12/

答案 1 :(得分:0)

您的问题是输入使用的是id而不是其他内容。在查找有问题的项目时,搜索会在找到的第一个ID上停止。

这个更新的小提琴https://jsfiddle.net/w5qz5exe/11/显示了如何使用类完成它。

        $(document).on('keyup', '.quantity, .price', function(e) {
            var $parent = $(e.target).parents('tr'),
                $total = $parent.find('.total'),
                $quantity = $parent.find('.quantity'),
                $price = $parent.find('.price');
            $total.val(($quantity.val() * $price.val()).toFixed(2));
        });

除上述内容外,还会从输入中删除所有ID,并将其更改为类。