如何计算动态创建的项目和数量

时间:2018-10-27 19:05:03

标签: javascript jquery

今天,我偶然发现了我的jquery代码的一些问题。基本上,我尝试计算动态创建的项目+数量,以得出其总价。

下面是我的初始代码:

   var productPrice = $(".productPrice");
    var productQuantity = $(".productQuantity");
    var totalPrice = 0.00

$.each($('.product'), function(index, val) {
  totalPrice += $(productPrice[index]).val() * $(productQuantity[index]).val()
  $('#total').text(totalPrice.toFixed(2))
  $('#total_price').val(totalPrice.toFixed(2))
})

$(productQuantity[index]).on('change', function() {
totalPrice = $(productPrice[index]).val() * $(productQuantity[index]).val()
$('#total').text(totalPrice.toFixed(2))
})
})

以上代码有效,但它们仅计算最后创建的项目。我偶然发现了一些解决方案,但没有找到(或者我错过了)。

1 个答案:

答案 0 :(得分:-1)

最后,我找到了自己问题的答案。我需要做的是匹配更改后的数量和价格数组索引,然后返回所有数组价格*数量。

下面是我的工作代码:

productQuantity.each(function() {
  $(this).keyup(function() {
    var index = $(this).data("id")
    calcTotal(index);
  });
});

function calcTotal(id) {
  var subTotal = 0.0

  subTotal = $(productPrice[id]).val() * $(productQuantity[id]).val()
  productQuantity.each(function(index, val) {
    if (index == id) {

    } else {
      subTotal += $(productPrice[index]).val() * $(productQuantity[index]).val()
    }
  })
  $('#total').text(subTotal.toFixed(2))
}

此代码可能有助于某些人无法计算购物车或动态创建的输入字段。