Вот что у меня есть
<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') и даю ему статическое имя, оно работает ... так как я могу создавать объекты с динамическими именами?