Получить список отмеченных флажков в div с помощью jQuery


Я хочу получить список чекбоксов, которые выбраны в 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>
6 191

6 ответов:

комбинация двух предыдущих ответов:

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()