Передайте значение флажка, ЕСЛИ флажок установлен

У меня есть список флажков, который выглядит так:

<div class="checkbox">
<label><input type="checkbox" value="west" name="west" id="west" checked="{{isChecked}}">West</label>
</div>
<div class="checkbox">
<label><input type="checkbox"  checked="{{isChecked}}" name="airport" id="airport" value="airport">Airport</label>
</div>
<div class="checkbox">
<label><input type="checkbox"  checked="{{isChecked}}" name="north" id="north" value="north">North</label>
</div>

Мне удалось передать статус каждого флажка в виде логического значения в коллекцию, как это:

var eventLocation = [
event.target.west.checked,
event.target.airport.checked,
]

Тем не менее, я хотел бы передать только значение отмеченных флажков. Я знаю, что могу передать значение флажков с event.target.west.valueНо, чтобы получить только проверенные, мне пришлось бы написать много условных выражений, которые плохо масштабировались бы. Есть ли лучший способ сделать это?

Спасибо!

1 ответ

Решение

Вы можете быстро собрать все отмеченные флажки с помощью:

var checked = $("input:checked");

Это вернет массив, который вы можете зациклить, чтобы получить идентификатор, значение или имя.

checked.forEach(function(c){
  console.log('input id: '+c.id+' name: '+c.name+' value: '+c.val+' is checked!');
});
Другие вопросы по тегам