J'ai plusieurs cases à cocher (le nom est le même pour send array sur le serveur).
Donc, je dois obtenir chaque valeur ces cases à cocher et je veux utiliser comme noms de case à cocher de sélecteur, cela ne fonctionne pas, aide s'il vous plaît.
<form>
<input type="checkbox" name="bla[]" value="1" />
<input type="checkbox" name="bla[]" value="2" />
</form>
js:
$(document).ready( function () {
$("input[name=bla]").each( function () {
alert( $(this).val() );
});
});
Vous sélectionnez des entrées avec l'attribut name de "bla"
, mais vos entrées ont "bla[]"
nom attribut.
$("input[name='bla[]']").each(function (index, obj) {
// loop all checked items
});
Vous devriez également inclure les crochets. . .
<input type="checkbox" name="bla[]" value="1" />
par conséquent, il devrait être référencé tel quel name='bla[]'
$(document).ready( function () {
$("input[name='bla[]']").each( function () {
alert( $(this).val() );
});
});
J'aimerais ajouter que si vous essayez d'obtenir toutes les cases avec ce nom qui ont été sélectionnées, vous voudrez utiliser la syntaxe suivante:
$("[name='bla[]']:checked").each(function () {
// do stuff
});
Assurez-vous qu'il n'y a pas d'espace entre la fermeture ]
et :checked
Si vous souhaitez obtenir une liste de toutes les valeurs des cases à cocher cochées (par exemple, pour les envoyer sous forme de liste en une AJAX au serveur), vous pouvez obtenir cette liste avec:
var list = $("input[name='bla[]']:checked").map(function () {
return this.value;
}).get();
$('[name="CheckboxName"]:checked').each(function () {
// do stuff
});
$("input[name='bla[]']").each( function () {
alert($(this).val());
});
Comme cela a été dit quelques fois, vous devez changer votre sélecteur en
$("input[name='bla[]']")
Mais je veux ajouter, vous avez utiliser des guillemets simples ou doubles lorsque vous utilisez [] dans le sélecteur.
// obtient les valeurs de case à cocher en utilisant le nom de la case à cocher
<head>
<script>
function getCheckBoxValues(){
$('[name="checkname"]').each( function (){
alert($(this).val());
});
}
</script>
</head>
<body>
<input type="checkbox" name="checkname" value='1'/>
<input type="checkbox" name="checkname" value='2'/>
<input type="checkbox" name="checkname" value='3'/>
<input type="button" value="CheckBoxValues" onclick="getCheckBoxValues()"/>
</body>
// n'obtient que les valeurs qui sont cochées
function getCheckBoxValues(){
$('[name="checkname"]').each( function (){
if($(this).prop('checked') == true){
alert($(this).val());
}
});
}