hiii, Je veux détecter le nombre de cases cochées dans la liste. Une méthode que je connais consiste à le vérifier en parcourant la liste en boucle et à vérifier un par un si elle est cochée
$(".chkBoxList").each(function() {
if($(this).is(":checked"))
{
// do something
}
Mais je pense que c'est une méthode assez inefficace. Comme s'il y a des centaines / des milliers de cases à cocher et que seules quelques-unes d'entre elles sont cochées, toutes les cases à cocher seront bouclées.
Y a-t-il un autre moyen de l'améliorer? Je serais reconnaissant si quelqu'un peut suggérer une alternative efficace à cela. Veuillez me guider et suggérer la solution appropriée avec les avantages et les inconvénients.
Merci d'avance.
Réponses:
3 pour la réponse № 1Toutes les entrées vérifiées (en supposant qu’il n’ya pas de radios) dans l’élément de classe chkBoxList
et length
la propriété sera le compte d'eux:
var cnt = $(".chkBoxList input:checked").length;
Si vos cases à cocher ont chkBoxList
la classe utilise ceci:
var cnt = $(".chkBoxList:checked").length;
1 pour la réponse № 2
$(".chkBoxList").filter(":checked").length