Hey all. J'essaye de comprendre cela depuis un moment maintenant.Déterminez si toutes les cases à cocher de l'objet jQuery sont cochées, renvoyez-les en tant que booléen
créer un objet jQuery de cases à cocher et le stocker dans une variable:
$group1 = $('#checkbox1,#checkbox2,#checkbox3,#checkbox4');
L'utilisateur ne peut pas continuer à moins que toutes les cases de ce groupe sont vérifiés.
J'utilise une instruction if combinée avec .is(':checked')
pour trouver une valeur booléenne:
if($group1.is(':checked')){
//continue is OK
}
... mais .is(':checked')
retournera TRUE
si tout cases sont cochées au sein du groupe. Essentiellement, .is(':checked')
exécute une opération OU sur les éléments sélectionnés dans $ group1. Je suis à la recherche d'une opération ET, donc tous les éléments sélectionnés doivent être vérifiés pour retourner TRUE
. Y at-il une fonction jQuery qui fait cela, ou une autre solution de contournement?
Je vous suggère de retirer le '$' de vos noms de variables. Ceci n'est pas requis en JavaScript et il est destiné à être utilisé par un code généré mécaniquement. Vous pouvez l'utiliser (comme le fait jQuery), mais ce n'est pas une bonne pratique de casser cette convention. – jwueller
Je suggère d'ajouter des classes à vos cases à cocher afin que vous puissiez faire $ ('. ClassName: checkbox') ou, si vous voulez sélectionner toutes les cases, faites simplement: $ (': checkbox') – JasCav
@elusive c'est vraiment un très convention jQuery commune pour représenter les variables qui sont des collections jQuery. Je recommande qu'il continue à l'utiliser. Il aide à la lisibilité du code et ne blesse rien. – BBonifield