我有这样的对象数组装载:对象数组被通过的最后一个对象覆盖
$(document).ready(function() {
$("<div></div>").load("/Stats/Contents #stats", function() {
statcount = $(".list-group-item", this).length;
for (var j = 0; j < statcount; j++) {
statList.push(stat);
}
for (var i = 0; i < statcount; i++) {
statList[i].statId = document.getElementById("statId-" + (i + 1) + "").value;
statList[i].productDescription = document.getElementById("productType-" + (i + 1) + "").value;
statList[i].lastMeasuredInventoryAmount = document.getElementById("statLastMeasureAmount-" + (i + 1) + "").value;
}
)}
)}
....等等 后来我得到了改变的值,并将其保存,但在阿贾克斯所有的数组对象都是相同的(分配的最后一个),看起来像被覆盖。 任何想法?我看到这些延迟/承诺类型的代码,但不知道是否有更简单的方法。 谢谢。
从哪里来的筒仓来?这是完整的代码吗? –
您向我们展示了一个函数,它将一些未知结构的数据应用于某些标记,也是未知的。不知道这两者,你的问题是毫无意义的。 –
没有HTML很难说,但我的猜测是所有的'statId-','productType-'和'statLastMeasureAmount-DOM元素都有完全相同的ID,这就解释了为什么JS总是选择最后一个。 – masterfloda