<input id="some_id" value="some_value">
我需要从上部输入创建{some_id: some_value}
(换句话说,我需要使用id的属性值的名称)。
我试过了:
jQuery('[name="page-numbers[]"]').map(function () {
return { jQuery(this).attr('id'): jQuery(this).val()};
}).get();
jQuery('[name="page-numbers[]"]').map(function () {
return {this.id: this.value};
}).get();
但每次我在{this.id:
附近收到错误。如果只调用this.id
或this.value
或相同的jQuery - 结果返回。
答案 0 :(得分:3)
在您的情况下,您应该使用square bracket notation来定义空对象:
$('[name="page-numbers[]"]').map(function() {
var obj = {};
obj[this.id] = this.value;
return obj;
}).get();
答案 1 :(得分:1)
如果你想创建某种“input_id”:“input_value”键值关联,你会用错误的方法来创建它,我会说。试试这个:
var assocs = {};
jQuery('[name="page-numbers[]"]').each(function () {
assocs[this.id] = this.value;
})
使用.map,您将获得一个包含许多键/值映射的数组。