javascript - DOM 元素上的每个 Jquery - 插入数组错误

标签 javascript jquery

我尝试在我的 DOM 上使用 each() 函数来动态添加字段。 但我对这段代码有疑问:

  var nouvelle_entree=new Object();
    $('div[name="declaration-ligne-entree"]').each(function () {
    nouvelle_entree.name=$(this).children('input[name="system-input-name"]').val();
    nouvelle_entree.values=$(this).children('input[name="system-input-valeur"]').val().split(",");
    console.log(nouvelle_entree);
    mockSystem.input.push(nouvelle_entree);
    });
    console.log(mockSystem.input);

推送功能总是推送最后一个子项而不是另一个,但在我的控制台登录上具有良好的值(value)。

log 1 : {name: "a", values: Array(1)}

log 2 : {name: "b", values: Array(1)}

log 3: [

{name: "b", values: Array(1)}

{name: "b", values: Array(1)}

]

为什么?

最佳答案

Why ?

因为在每次迭代中你都会覆盖同一个对象 nouvelle_entree

你需要在每次迭代中定义对象 nouvelle_entree 而不仅仅是第一次,否则变量将始终包含最后一次迭代的信息,例如:

$('div[name="declaration-ligne-entree"]').each(function() {
  var nouvelle_entree = {};

  nouvelle_entree.name = $(this).children('input[name="system-input-name"]').val();
  nouvelle_entree.values = $(this).children('input[name="system-input-valeur"]').val().split(",");

  mockSystem.input.push(nouvelle_entree);
});

console.log(mockSystem.input);

关于javascript - DOM 元素上的每个 Jquery - 插入数组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847773/

相关文章:

javascript - Kendo ui 网格命令模板点击链接功能

javascript - 为图表使用动态数据

javascript - JQuery:无法在同一 div 中定位 h3?

javascript - Messenger "Get Started"按钮无法开始对话

javascript - 在移动设备上加载网站时背景图片看起来不对

javascript - 在 Highcharts 中自动刷新 Json 数据

php - 使用 jquery 进行大型查询和过滤更好,还是进行更小的查询更好?

javascript - 在单个查询中选择文档的几个元素

javascript获取元素唯一选择器

javascript - 如何禁用 JavaScript 错误消息?