jquery - 如何将对象添加到数组 jQuery

标签 jquery object each

我尝试将对象添加到数组中,但最终我拥有所有相同的对象

$('#Create').click(function(event) {
  event.preventDefault();

  var categoryId = $('#CatId').val();
  var enteredDate = $('#datepicker').val();
  var empId = $('#employeeID').text();
  var systemDate = $.datepicker.formatDate('dd.mm.yy', new Date());
  var obj = {
    CategoryId: categoryId,
    EnteredDate: enteredDate,
    SystemDate: systemDate,
    EmpId: empId
  };
  var arrToServer = [];
  var list = new Array();
  $("input[type=checkbox]:checked").each(function() {
    var productId = $(this).attr('id');
    obj.ProductId = productId;
    arrToServer.push(obj);                
  });
  arrToServer = JSON.stringify(arrToServer);
}

我的 arrToServer 有 2 个相同的 objetc,为什么?

最佳答案

创建对象的副本,然后设置项目 ID。

$("input[type=checkbox]:checked").each(function () {
    var productId = $(this).attr('id');
    var clonedobj = jQuery.extend({}, obj); //create a shallow
    clonedobj.ProductId = productId;
    arrToServer.push(clonedobj);
});

关于jquery - 如何将对象添加到数组 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22022429/

相关文章:

php - 如何通过 jquery/ajax 在 zend 框架中调用 Controller / Action ?

javascript - 无法在 Safari 中检测到鼠标滚轮事件

Javascript 每次循环问题

jquery每个div问题

javascript - 为什么 $.each 仅显示我的 Mustache 模板之一?

javascript - 无法使用 jQuery 数据表获取列值的总和(选中复选框)

javascript - 如何将我的附加按钮添加到此 jQuery mp3 播放器?

javascript - 将原生数组/对象转换为 Ember.Array/Ember.Object 的最佳实践

javascript - 你如何在 JavaScript 中获取对象的名称?

java - 在另一个类中使用对象特定变量