2
<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.idthis.value或相同的 jQuery - 结果返回。

4

2 回答 2

3

在您的情况下,您应该对定义的空对象使用方括号表示法:

$('[name="page-numbers[]"]').map(function() {
    var obj = {};
    obj[this.id] = this.value;
    return obj;
}).get();
于 2012-11-28T13:24:51.190 回答
1

如果您想创建某种“input_id”:“input_value”键值关联,我会说,您使用的是错误的方法。尝试这个:

var assocs = {};
jQuery('[name="page-numbers[]"]').each(function () {
  assocs[this.id] = this.value;
})

使用 .map 作为结果,您将获得许多一个键/值映射的数组。

于 2012-11-28T13:35:23.823 回答