我尝试将对象添加到数组中,但最终我拥有所有相同的对象
$('#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/