代码之家  ›  专栏  ›  技术社区  ›  bita pinches

如何将A列的值与B列的值相乘,得到JavaScript中C列的值

  •  0
  • bita pinches  · 技术社区  · 6 年前

    请协助排序这个问题,我想乘以价值A列,让说数量与价值B列,让说成本,以获得价值C列的总和。 只需将一行解析到表中就可以实现这一点,但如果列中一个可编辑值的数量发生了变化,我的总数就不会发生变化,所以如何实现,就像用户编辑完成后或按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 回复  |  直到 6 年前
        1
  •  0
  •   acurtis166    6 年前

    确保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(); 
        });