Jquery .each()不添加总和

时间:2015-04-13 03:26:12

标签: javascript jquery

所以我有这个代码,我试图让它加起来所有的总和加上数量。它现在如何工作它只添加其中一个项目。我错过了什么?

function addSubTotal() {
var subTotal = 0;
var total = 0;

    $("#items").find("#itemadd").each(function() {
        var qty = parseInt($(this).find("#qty").val());
        var rate = parseInt($(this).find("#price").html());
        subTotal += qty * rate; 
    });
        $("#subTotal").html(subTotal);
  }

这是我用来动态添加它的代码

function addItem(a, b) {
$("#items").append("<div id=itemadd> <span id=remove>remove</span> <span id=item>" + a + "</span> <input id=qty type=number autocomplete=off value=2> <span id=price>" + b + "</span></div>");
addSubTotal();
}

1 个答案:

答案 0 :(得分:2)

问题是您使用的是id属性。 id 必须是唯一的。否则,浏览器将仅返回具有它找到的id的元素的第一个实例。

您想要改为创建这些类,然后搜索.itemadd

看看这个简单的例子: https://jsfiddle.net/2b7zfjha/