У меня есть форма HTML, который содержит набор флажков:Получить флажки (с тем же именем), как массив
<p><input type="checkbox" name="fruits" value="apple" /> Apple</p>
<p><input type="checkbox" name="fruits" value="banana" /> Banana</p>
<p><input type="checkbox" name="fruits" value="strawberry" /> Strawberry</p>
Когда я нажимаю кнопку, я хочу, чтобы все выбранные флажки с тем же именем в один массив.
Таким образом, если пользователь выбирает Apple, и банан я ожидаю, что-то вроде этого:
{ 'fruits' : [ 'Apple', 'Banana' ] }
Я пытался использовать serializeArray JQuery в() метод, но результат не является, как я ожидал ...
[ { name="fruits", value="apple"}, { name="fruits", value="banana"} ]
Я создал это jsfiddle с моим примером кода.
Я знаю, что могу перебирать этот массив и создавать объект, который я хочу. Но мой вопрос:
Есть ли чистый & простой способ (с помощью jQuery или какого-нибудь плагина)?
* Редактировать: * Я ищу какое-то общее решение этой проблемы. Я хотел бы сказать методу элемент формы, и этот метод автоматически найдет все данные. Как и jQuery.serializeArray().
Мне нравится выглядеть так! Но мне все же приходится вручную устанавливать 'obj.fruits'. Возможно ли просто передать элемент формы и определить метод самим именем и значениями? – Friederike
@FriederikeS Да, я обновил ответ. – undefined
Удивительный. Это именно то, что я искал. Спасибо. :) – Friederike