javascript - Jquery .each() 不添加总和

标签 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();
}

最佳答案

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

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

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

关于javascript - Jquery .each() 不添加总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29597404/

相关文章:

javascript - 如何通过递归使用 setTimeout 来等待在 JavaScript 中定义变量?

php - Javascript 验证 if 语句

javascript - 使粘性 div 达到一定程度

jquery - 将 JSON 解析为数组的最佳实践

javascript - 比较数组并删除不匹配的值

javascript - jQuery 到 Javascript 的等效项

javascript - 如何比较通过 ctx.getImageData() 从 HTML5 canvas 检索到的颜色对象(的内容)

javascript - 在 tumblr 中设置一个帖子标签?

javascript - selectbox 多个而不被选中

javascript - 如何在Node.js中解析JSON