Comment puis-je vérifier si une case à cocher dans un tableau de cases à cocher est cochée à l'aide de l'ID du tableau de cases à cocher?
J'utilise le code suivant, mais il renvoie toujours le nombre de cases à cocher indépendamment de l'id.
function isCheckedById(id) {
alert(id);
var checked = $("input[@id=" + id + "]:checked").length;
alert(checked);
if (checked == 0) {
return false;
} else {
return true;
}
}
id
s sont uniques!name
peut (et devrait, dans ce cas) se répéter, mais vous trouverez beaucoup de choses étranges si vous dupliquez leid
! = DRéponses:
Les ID doivent être uniques dans votre document, ce qui signifie que vous ne devriez pas faire ceci:
Au lieu de cela, supprimez l'ID, puis sélectionnez-les par nom ou par un élément conteneur:
Et maintenant le jQuery:
la source
$('#checkArray :checkbox:checked').length > 0;
quand le plus simple$('#checkArray').checked
fonctionne et est disponible sur plusieurs versions?var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
Cela devient si la case est cochée.
Pour un tableau de cases à cocher portant le même nom, vous pouvez obtenir la liste des cases cochées en:
Ensuite, pour les parcourir et voir ce qui est vérifié, vous pouvez le faire:
Pour savoir combien sont vérifiés, vous pouvez faire:
la source
$('#'+id).attr('checked')
, qui est équivalente$('#' + id).is(":checked")
mais plus facile à retenir IMO..attr('checked')
. Son comportement a changé dans jQuery 1.6. Il retournaitfalse
outrue
. Maintenant, il revientundefined
ou"checked"
..is(':checked')
n'a pas ce problème.$('.ClassName').is(':checked')
cela ne semble pas fonctionner mais$('#' + id).is(":checked")
fonctionne? à part le fait que l'on cherche par id et un par nom de classe.Le code ci-dessus renvoie vrai si la case est cochée ou faux sinon.
la source
var isChecked = $('#CheckboxID').attr('checked') ? true : false;
mais ne retournais pas toujours la valeur correcte. Donc merci!Toutes les méthodes suivantes sont utiles:
Il est recommandé d'éviter DOMelement ou inline "this.checked" à la place, jQuery on method doit être utilisé comme écouteur d'événements.
la source
Code jQuery pour vérifier si la case est cochée ou non:
Alternativement:
la source
:
... CORRECTE est:if(('input[name="checkBoxName"]').is(':checked'))
.if($('input[name="checkBoxName"]').is(':checked'))
.else
n'exécutera jamais le bloc, car un objet jQuery, même s'il ne contient aucun élément correspondant, est "véridique". Ajoutez.length
à la fin, puis vous parlez.Toutes les méthodes ci-dessous sont possibles
la source
Vous pouvez utiliser ce code,
la source
Selon la documentation de jQuery , il existe des façons suivantes de vérifier si une case à cocher est cochée ou non. Considérons par exemple une case à cocher (Cochez Working jsfiddle avec tous les exemples)
Exemple 1 - Avec coché
Exemple 2 - Avec jQuery is, NOTE -: vérifié
Exemple 3 - Avec jQuery prop
Vérifier le travail jsfiddle
la source
Vous pouvez essayer ceci:
la source
attr
ne reflète que la valeur d'attribut en HTML, pas la valeur de propriété dans le DOM. Voir la documentation pourattr
, où il est dit "Pour récupérer et modifier les propriétés DOM telles que les élémentschecked
,selected
ou l'disabled
état des formulaires, utilisez la.prop()
méthode.", Et la documentation pourprop
, où il est dit "La.prop()
méthode doit être utilisée pour définirdisabled
et à lachecked
place de la.attr()
méthode. "Vous pouvez utiliser l'un des codes recommandés suivants par jquery.
la source
Je sais que l'OP veut jquery mais dans mon cas, JS pur était la réponse, donc si quelqu'un comme moi est ici et n'a pas jquery ou ne veut pas l'utiliser - voici la réponse JS:
Elle renvoie vrai si l'entrée avec l'ID myCheck est vérifiée et false si elle n'est pas vérifiée.
Aussi simple que cela.
la source
$("#myCheck")[0].checked
cela fonctionnera en jquery! : DVous pouvez le faire simplement comme;
Violon de travail
HTML
jQuery
ou encore plus simple;
Si le
checkbox
est coché il reviendratrue
sinonundefined
la source
or even simpler;
->$("#checkbox").checked
C'est aussi une idée que j'utilise fréquemment:
S'il est mâché, il renverra 1; sinon, il retournera 0.
la source
Démo simple pour vérifier et définir une case à cocher.
jsfiddle !
la source
Juste pour dire que dans mon exemple, la situation était une boîte de dialogue qui a ensuite vérifié la case à cocher avant de fermer la boîte de dialogue. Aucune des réponses ci-dessus et Comment vérifier si une case à cocher est cochée dans jQuery? et jQuery si la case est cochée ne semble pas fonctionner non plus.
À la fin
Cela a fonctionné donc appeler la classe puis l'ID. plutôt que juste l'ID. Cela peut être dû aux éléments DOM imbriqués sur cette page à l'origine du problème. La solution de contournement était ci-dessus.
la source
Pour case à cocher avec un identifiant
vous pouvez simplement faire
vous obtiendrez
true
oufalse
comme valeur de retour pour la syntaxe ci-dessus. Vous pouvez l'utiliser dans la clause if comme expression booléenne normale.la source
Quelque chose comme ça peut aider
la source
En fait, selon jsperf.com , les opérations DOM sont les plus rapides, puis $ (). Prop () suivi de $ (). Is () !!
Voici les syntaxes:
Personnellement, je préfère
.prop()
. Contrairement à.is()
, il peut également être utilisé pour définir la valeur.la source
Activer la case à cocher
la source
En utilisant ce code, vous pouvez vérifier qu'au moins une case à cocher est sélectionnée ou non dans différents groupes de cases à cocher ou à partir de plusieurs cases à cocher. En utilisant cela, vous ne pouvez pas exiger de supprimer les ID ou les ID dynamiques. Ce code fonctionne avec les mêmes ID.
Lien de référence
la source
Depuis la mi-2019 et jQuery prend parfois un siège arrière à des choses comme VueJS, React etc. Voici une option d'écoute de chargement Javascript pure vanille:
la source
Votre question n'est pas claire: vous voulez donner "ID de tableau de case à cocher" à l'entrée et obtenir
true/false
à la sortie - de cette façon, vous ne saurez pas quelle case a été cochée (comme le suggère le nom de votre fonction). Donc, ci-dessous, il y a ma proposition de corpsisCheckedById
qui, à l'entrée, prend la case à cocherid
et au retour de sortietrue/false
(c'est très simple mais votre ID ne doit pas être un mot-clé),Afficher l'extrait de code
la source
utilisez le code ci-dessous
la source
$(function() { $("[id$='chkSendMail']").on("change", ShowMailSection); });
$("[id$='chkSendMail']:checked]")
devrait fonctionner très bien