我想使用.push()
方法创建JavaScript对象,并创建键值对
。我尝试过了,但不起作用。
$("input[name^=ang_nama]").each(function() {
arr_nama.push($(this).attr('id'):$(this).val());
});
有什么解决方案吗?
我想使用.push()
方法创建JavaScript对象,并创建键值对
。我尝试过了,但不起作用。
$("input[name^=ang_nama]").each(function() {
arr_nama.push($(this).attr('id'):$(this).val());
});
您需要的是:
var arr_nama = [];
$("input[name^=ang_nama]").each(function() {
var obj = {};
obj[this.id] = $(this).val();
arr_nama.push(obj);
});
以下是一些观察:
this.id
时,请不要使用$(this).attr('id')
!另一个更清晰的解决方案是
var arr_nama = $("input[name^=ang_nama]").map(function() {
var obj = {};
obj[this.id] = $(this).val();
return obj;
}).get();
请注意,这将创建一个数组。如果您想要的是唯一的对象,请使用以下方法:
var arr_nama = {};
$("input[name^=ang_nama]").each(function() {
arr_nama[this.id] = $(this).val();
});
尝试
var obj = {};
obj[$(this).attr('id')] = $(this).val();
arr_nama.push(obj);
试试这个,在推送时添加花括号
$("input[name^=ang_nama]").each(function() {
arr_nama.push( { $(this).attr('id'):$(this).val() } );
});