Ответ 1
Сочетание двух предыдущих ответов:
var selected = [];
$('#checkboxes input:checked').each(function() {
selected.push($(this).attr('name'));
});
Я хочу получить список имен флажков, которые выбраны в div с определенным идентификатором. Как я могу сделать это с помощью jQuery?
Например, для этого div я хочу получить массив [ "c_n_0"; "c_n_3" ] или строка "c_n_0; c_n_3"
<div id="checkboxes">
<input id="chkbx_0" type="checkbox" name="c_n_0" checked="checked" />Option 1
<input id="chkbx_1" type="checkbox" name="c_n_1" />Option 2
<input id="chkbx_2" type="checkbox" name="c_n_2" />Option 3
<input id="chkbx_3" type="checkbox" name="c_n_3" checked="checked" />Option 4
</div>
Сочетание двух предыдущих ответов:
var selected = [];
$('#checkboxes input:checked').each(function() {
selected.push($(this).attr('name'));
});
Будет ли это делать?
var selected = [];
$('div#checkboxes input[type=checkbox]').each(function() {
if ($(this).is(":checked")) {
selected.push($(this).attr('name'));
}
});
$("#checkboxes").children("input:checked")
предоставит вам массив самих элементов. Если вам просто нужны имена:
$("#checkboxes").children("input:checked").map(function() {
return this.name;
});
Мне нужно было подсчитать все флажки, которые были отмечены. Вместо написания цикла я сделал это
$(".myCheckBoxClass:checked").length;
Сравните это с общим количеством флажков, чтобы убедиться, что они равны. Надеюсь, что это поможет кому-то.
Это работает для меня.
var selecteditems = [];
$("#Div").find("input:checked").each(function (i, ob) {
selecteditems.push($(ob).val());
});
Вы также можете дать им все то же имя чтобы они были массивом, но придать им разные значения:
<div id="checkboxes">
<input type="checkbox" name="c_n[]" value="c_n_0" checked="checked" />Option 1
<input type="checkbox" name="c_n[]" value="c_n_1" />Option 2
<input type="checkbox" name="c_n[]" value="c_n_2" />Option 3
<input type="checkbox" name="c_n[]" value="c_n_3" checked="checked" />Option 4
</div>
Вы можете получить только значение только отмеченных с помощью карты:
$('#checkboxes input:checked[name="c_n[]"]')
.map(function () { return $(this).val(); }).get()