var arr=[];
$.each($("#id").serializeArray(), function (i, field) {
arr.push({
field.name : field.value
});
});
我希望field.name应该是动态的。
答案 0 :(得分:2)
您可以使用Bracket Notation
var arr=[];
$.each($("#id").serializeArray(), function (i, field) {
var obj = {};
obj[field.name] = field.value;
arr.push(obj );
});
答案 1 :(得分:0)
显示Uncaught SyntaxError:意外的令牌。
这是因为,LHS在
中包含.
arr.push({
field.name : field.value //field.name on LHS contains a dot, which is not correct syntax
});
根据spec(第6节对象)
对象结构表示为一对花括号标记 包含零个或多个名称/值对。名称是一个字符串。一个 单个冒号标记跟在每个名称后面,将名称与 值。单个逗号标记将值与以下名称分开。
如果你的属性名称是动态的,那么使用括号表示法,如上面显示的@Satpal。
var obj = {};
obj[field.name] = field.value;
arr.push(obj);