Duplicate possible:
Sélectionnez les valeurs du groupe de cases à cocher avec jQuery
En HTML, j'ai un ensemble de cases à cocher regroupées par classe. Je veux obtenir un tableau dans jQuery contenant toutes les cases à cocher sélectionnées/cochées pour cette classe (les autres cases à cocher de la page sont donc ignorées).
Donc, le code HTML ressemble à ceci:
<input type="checkbox" class="group1" value="18" checked="checked" />
<input type="checkbox" class="group1" value="20" />
<input type="checkbox" class="group1" value="15" />
<input type="checkbox" class="group2" value="14" />
<input type="checkbox" class="group1" value="55" checked="checked" />
<input type="checkbox" class="group1" value="10" checked="checked" />
<input type="checkbox" class="group2" value="77" checked="checked" />
<input type="checkbox" class="group1" value="11" />
Renverrait les valeurs du paramètre vérifié/sélectionné group1
_ cases à cocher dans un tableau comme celui-ci:
var values = [ 18, 55, 10 ];
Vous pouvez utiliser le :checkbox
et :checked
pseudo-sélecteurs et le .class
_ sélecteur, avec lequel vous vous assurez que vous obtenez les bons éléments, uniquement les cases cochées avec la classe que vous spécifiez.
Ensuite, vous pouvez facilement utiliser la méthode Traversing/map pour obtenir un tableau de valeurs:
var values = $('input:checkbox:checked.group1').map(function () {
return this.value;
}).get(); // ["18", "55", "10"]
var matches = [];
$(".className:checked").each(function() {
matches.Push(this.value);
});
Vous pouvez également ajouter nderscore.js à votre projet et pourrez le faire en une seule ligne:
_.map($("input[name='category_ids[]']:checked"), function(el){return $(el).val()})