如何将A列的值与B列的值相乘以在javascript

时间:2018-11-27 22:31:23

标签: javascript jquery ajax

请协助对这个问题进行排序,我想将值乘以A列,说数量与B列的值,说成本,以获得C列的总计。 只需解析表中的一行就可以实现此目的,但是如果更改了可编辑值的列A数量则卡住了.i Total不变。所以我该如何实现,例如在用户编辑完成后或按Enter键之后

        $table.append(
            '<tr class="dynamic">' +
            '<td> <input type = "hidden"  class= "txtStockID" name = 
            "StockID"  ' +
            'value = "' +id + '" /> ' +id+ '</td>' +
            '<td>' +
            item +
            '</td>' +
            '<td id="qty" class= "qty" type="number" contenteditable>' +
            qty +
            '</td>' +
            '<td>' +
            retail +
            '</td>' +
            '<td>' +
            cost +
            '</td> ' +
            '<td>' +
            this.cells[5].innerHTML +
            '</td>' +
            '<td>' +
            tax +
            '</td>' +
            '<td>' +
            vat +
            '</td>' +
            '<td id="total">' +
            total +
            '</td>' +
            '<td><a data-itemId="0" href="#" class="deleteItem btn btn- 
              danger btn-flat btn-xs ' +
            'glyphicon glyphicon-trash"></a>' +
            '</td>' +
            '</tr>'
            );
            $(document).on('change, keyup',
                $('.qty'),
                function () {
                    var rows = $('.dynamicRows');
                    $.each(rows,
                        function (index, item) {
                            var quantity = 
                     Number($(this).children('td').eq(2).text());
                            var cost = 
                         Number($(this).children('td').eq(4).text());
                            var amount = (quantity * cost).toFixed(2);
                            $(this).children('td').eq(8).val(amount);
                        });

                          });

                    update_total(); 
                 }
           });

1 个答案:

答案 0 :(得分:0)

确保on()事件绑定器的第二个参数是字符串选择器(例如'.qty'),而不是jQuery对象=> http://api.jquery.com/on/

    $(document).on('keyup', '.qty', function () {
        var rows = $('.dynamic');
        $.each(rows, function (index, item) {
            var quantity = 
                Number($(this).children('td').eq(2).text());
            var cost = 
                Number($(this).children('td').eq(4).text());
            var amount = (quantity * cost).toFixed(2);
            $(this).children('td').eq(8).text(amount);
        });

        update_total(); 
    });