Je sais comment voir si une case à cocher individuelle est sélectionnée ou non.
Mais j’ai des problèmes avec ce qui suit - étant donné un identifiant de formulaire, j’ai besoin de voir si aucune des cases à cocher sont sélectionnées (c.-à-d. 1 ou plus), et j’ai besoin de voir si aucune = sont sélectionnés. Fondamentalement, j'ai besoin de deux fonctions distinctes qui répondent à ces deux questions. L'aide serait appréciée. Merci!
En fait, il me faudrait simplement une fonction pour me dire si aucun sont sélectionnés. Sachant cela répondrait à l'autre question.
Vous pouvez utiliser quelque chose comme ça
if ($("#formID input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}
JQuery .is
testera tous les éléments spécifiés et retournera la valeur true si au moins un d’eux correspond au sélecteur:
if ($(":checkbox[name='choices']", form).is(":checked"))
{
// one or more checked
}
else
{
// nothing checked
}
C’est ce que j’avais utilisé pour vérifier si des cases à cocher dans une liste de cases à cocher avaient été modifiées:
$('input[type="checkbox"]').change(function(){
var itemName = $('select option:selected').text();
//Do something.
});
Sans utiliser 'length', vous pouvez le faire comme ceci:
if ($('input[type=checkbox]').is(":checked")) {
//any one is checked
}
else {
//none is checked
}
La réponse de Rahul convient le mieux à votre question. Quoi qu'il en soit, si vous avez un groupe de cases à cocher à cocher et que toutes les cases à cocher ne sont pas dans votre formulaire, vous pouvez y aller.
Mettez un nom de classe pour toutes les cases à cocher, par exemple un nom de classe test_check
et maintenant vous pouvez vérifier si l’une des cases à cocher appartenant au groupe est cochée par:
$("#formID .test_check:checked").length > 0
S'il retourne true
, supposons qu’une ou plusieurs cases à cocher portant le nom de classe test_check
et aucun vérifié si renvoie false
.
J'espère que ça aide quelqu'un. Merci :)-
Vous pouvez faire un simple retour de .length
ici:
function areAnyChecked(formID) {
return !!$('#'+formID+' input[type=checkbox]:checked').length;
}
Cette recherche pour les cases à cocher dans la forme donnée, voit si certaines sont :checked
et retourne true
s’ils le sont (puisque la longueur serait 0 sinon). Pour clarifier un peu, voici la version convertie non booléenne:
function howManyAreChecked(formID) {
return $('#'+formID+' input[type=checkbox]:checked').length;
}
Cela renverrait le nombre de vérifications effectuées.