这是我所拥有的
<form>
<input type="text" name="item1" class="grab" value="userInput" />
<input type="text" name="somethingelse1" class="grab" value="differentUserInput" />
... (any number of inputs)
</form>
使用JQuery/Javascript,我想构建一个包含名称-值对的对象数组,如下所示:
output = [ {item1: userInput}, {somethingelse1: differentUserInput} ... etc.];
我尝试过这个方法,但没有成功:
var output = new Array();
$('.grab').each( function(index) {
output.push({$(this).attr('name'): $(this).val()} );
});
我尝试了几种变化,包括使用eval()进行实验,但都没有成功。如果我删除$(this).attr('name')并给它一个静态名称,它就可以工作...那么我该如何创建动态命名的对象?