Obtenir une liste des cases à cocher dans une div en utilisant jQuery

je veux obtenir une liste des noms des cases à cocher qui sont sélectionnées dans un div avec un certain id. Comment pourrais-je le faire à l'aide de jQuery?

par exemple, pour cette div je veux obtenir le tableau ["c_n_0"; "c_n_3"] ou une chaîne de caractères "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>
191
demandé sur Azim 2010-01-28 18:29:02
la source

6 ответов

Combinaison de deux réponses précédentes:

var selected = [];
$('#checkboxes input:checked').each(function() {
    selected.push($(this).attr('name'));
});
369
répondu Alex LE 2014-04-16 16:41:27
la source

est-ce que ça ferait l'affaire?

var selected = [];
$('div#checkboxes input[type=checkbox]').each(function() {
   if ($(this).is(":checked")) {
       selected.push($(this).attr('name'));
   }
});
43
répondu nikc.org 2014-11-08 22:00:54
la source
$("#checkboxes").children("input:checked")

vous donnera un tableau des éléments eux-mêmes. Si vous avez juste besoin spécifiquement des noms:

$("#checkboxes").children("input:checked").map(function() {
    return this.name;
});
35
répondu Corey 2010-01-28 18:46:34
la source

j'avais besoin du décompte de toutes les cases à cocher qui sont vérifiées. Au lieu d'écrire une boucle j'ai fait ceci

$(".myCheckBoxClass:checked").length;

comparez-le avec le nombre total de cases à cocher pour voir si elles sont égales. J'espère que ça aidera quelqu'un

18
répondu Usman Shaukat 2014-04-25 23:18:19
la source

ça me va.

var selecteditems = [];

$("#Div").find("input:checked").each(function (i, ob) { 
    selecteditems.push($(ob).val());
});
7
répondu Ricardo 2017-02-07 18:49:24
la source

vous pouvez aussi leur donner le même nom donc ils sont un tableau , mais leur donner différent valeurs 151980920":

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

vous pouvez alors obtenir seulement la valeur de seulement ceux cochés en utilisant la carte :

$('#checkboxes input:checked[name="c_n[]"]')
            .map(function () { return $(this).val(); }).get()
4
répondu SharpC 2017-05-23 15:03:06
la source

Autres questions sur jquery jquery-selectors checkbox