Détails
cocher / décocher une case à cocher en utilisant jquery ?
J'ai quelques champs de saisie de texte dans ma page et j'affiche leurs valeurs en utilisant JavaScript.
J'utilise la fonction .set("value" ;,"" ;)
pour modifier la valeur, ajouter un champ de case à cocher supplémentaire, et pour passer une valeur.
Ici, je veux vérifier que si value == 1
, alors cette case à cocher doit être cochée. Sinon, elle doit rester non cochée.
J'ai fait cela en utilisant deux divs, mais je ne me sens pas à l'aise avec cela, y a-t-il une autre solution ?
if(value == 1) {
$('#uncheck').hide();
$('#check').show();
} else{
$('#uncheck').show();
$('#check').hide();
}
580
3
Pour jQuery 1.6+ :
[.attr()][2] est déprécié pour les propriétés ; utilisez la nouvelle fonction [.prop()][3] à la place comme :
Pour jQuery < 1.6:
Pour cocher/décocher une case à cocher, il faut utiliser l'attribut
checked
et le modifier. Avec jQuery, vous pouvez le faire :Parce que vous savez, en HTML, ça ressemblerait à quelque chose comme :
Cependant, vous ne pouvez pas vous fier à la méthode .attr() pour obtenir la valeur de la case à cocher (si vous en avez besoin). Vous devrez faire confiance à la méthode [.prop()][1].
[1] : http://api.jquery.com/prop/ [2] : http://api.jquery.com/attr/ [3] : http://api.jquery.com/prop
Vous pouvez utiliser [prop()][1] pour cela, car Avant jQuery 1.6, la méthode [.attr()][2] prenait parfois en compte les valeurs des propriétés lors de la récupération de certains attributs, ce qui pouvait provoquer un comportement incohérent. À partir de jQuery 1.6, la méthode
.prop()
permet de récupérer explicitement les valeurs des propriétés, tandis que.attr()
récupère les attributs.ou simplement,
[1] : http://api.jquery.com/prop [2] : http://api.jquery.com/attr
Snippet
Vous pouvez définir l'état de la case à cocher en fonction de la valeur :