错误做法 :
// 使用 jquery 获取到 dom 列表,然后循环 dom 列表
var list = [];
var obj = {};
// 循环这个列表,将每行的数据键值对应存入 obj =》 obj:{goodsname:'aa',goodsNumber:1...}
$('list').each(function(item) {
obj = {
goodsName: item.find('goodName').val(),
goodsNumber: item.find('goodNumber').val()
}
// 然后 list.push(obj);
list.push(row);
});
list[obj,obj] 这两个obj指向相同所有数据相同
正确做法:(对象是在循环体内新建)
// 使用 jquery 获取到 dom 列表,然后循环 dom 列表
var list = [];
// 循环这个列表,在循环体内新建 var obj = {}; 然后将每行的数据键值对应存入 obj
$('list').each(function(item) {
/
var obj = {};
/
obj = {
goodsName: item.find('goodName').val(),
goodsNumber: item.find('goodNumber').val()
}
// 然后 list.push(obj);
list.push(row);
});
list[obj,obj] 这两个obj指向相同所有数据相同
list[obj,obj] 这两个obj指向不同所有数据不同
var list = [];
// 获取页面上的dom拿到数据,循环向list 添加对象,每个对象都需要是在循环中新建的
domlist.forEach(item=>{
list.push({
商品名称: 从dom节点中拿到的,// 比如 : $(item).value
收款方式: 同上
});
})
// 这样得到的list 是目前页面上的正确数据