Итак, у меня есть эти флажки:
<input type="checkbox" name="type" value="4" />
<input type="checkbox" name="type" value="3" />
<input type="checkbox" name="type" value="1" />
<input type="checkbox" name="type" value="5" />
И так далее. Их около 6, и они закодированы вручную (т.е. не получены из БД), поэтому они, вероятно, останутся неизменными некоторое время.
Мой вопрос заключается в том, как я могу получить их все в массиве (в javascript), чтобы я мог использовать их при выполнении $.post
запроса AJAX с использованием Jquery.
Есть предположения?
Изменить: я бы хотел, чтобы только выбранные флажки были добавлены в массив
javascript
jquery
ajax
dhtml
Нажмите Upvote
источник
источник
Ответы:
Отформатировано:
Надеюсь, это сработает.
источник
yourArray = []
map
вместоeach
:var yourArray = $("input:checkbox[name=type]:checked").map(function(){return $(this).val()}).get()
function get_selected_checkboxes_array(){ var ch_list=Array(); $("input:checkbox[type=checkbox]:checked").each(function(){ch_list.push($(this).val());}); return ch_list; }
источник
Чистый JS
Для тех, кто не хочет использовать jQuery
источник
Я не проверял это, но это должно работать
источник
Это должно сделать трюк:
Я не думаю, что у вас есть другие элементы, которые можно проверить, но если вы это сделаете, вам придется сделать это более конкретным:
источник
В MooTools 1.3 (последняя на момент написания):
источник
Если вы хотите использовать ванильный JS, вы можете сделать это аналогично @ zahid-ullah, но избегая цикла:
Тот же код в ES6 выглядит лучше:
Показать фрагмент кода
источник
В Javascript это было бы так (Демо-ссылка) :
источник
Версия ES6:
Показать фрагмент кода
источник
Чистый JavaScript без временных переменных:
источник
источник
При проверке добавьте значение для флажка, а при проверке вычтите значение
источник
Другой способ сделать это с помощью vanilla JS в современных браузерах (без поддержки IE и, к сожалению, без поддержки iOS Safari на момент написания) - это FormData.getAll () :
источник
Использование Jquery
Вам нужно только добавить класс к каждому входу, у меня есть добавить класс «источник», вы можете изменить его, конечно,
источник
Использовать это:
источник
источник
Используйте прокомментированный блок if, чтобы предотвратить добавление значений, которые уже есть в массиве, если вы используете нажатие кнопки или что-то для запуска вставки
источник
Вы можете попробовать что-то вроде этого:
Вот
источник
Вот мой код для той же проблемы, кто-то может попробовать это. JQuery
источник
источник