jquery获取列表中多行数据,并存入一个list中遇到的问题。。

 

错误做法 :

// 使用 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 是目前页面上的正确数据

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值