Je veux obtenir une liste de noms de cases à cocher sélectionnées dans un div avec un certain identifiant. Comment ferais-je cela avec jQuery?
Par exemple, pour ce div, je veux obtenir un tableau ["c_n_0"; "c_n_3"] ou une chaîne "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>
Combinaison de deux réponses précédentes:
var selected = [];
$('#checkboxes input:checked').each(function() {
selected.Push($(this).attr('name'));
});
Cela ferait-il?
var selected = [];
$('div#checkboxes input[type=checkbox]').each(function() {
if ($(this).is(":checked")) {
selected.Push($(this).attr('name'));
}
});
$("#checkboxes").children("input:checked")
vous donnera un tableau des éléments eux-mêmes. Si vous avez simplement besoin des noms:
$("#checkboxes").children("input:checked").map(function() {
return this.name;
});
J'avais besoin du nombre de toutes les cases à cocher qui sont cochées. Au lieu d'écrire une boucle je l'ai fait
$(".myCheckBoxClass:checked").length;
Comparez-le avec le nombre total de cases à cocher pour voir si elles sont égales. J'espère que ça va aider quelqu'un
Cela fonctionne pour moi.
var selecteditems = [];
$("#Div").find("input:checked").each(function (i, ob) {
selecteditems.Push($(ob).val());
});
Vous pouvez aussi leur donner le même nom donc ils sont un tablea , mais donnez-leur des valeurs différentes :
<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 uniquement la valeur de ceux cochés en utilisant map :
$('#checkboxes input:checked[name="c_n[]"]')
.map(function () { return $(this).val(); }).get()