si la case est cochée, cela
Quand je coche une case, je veux tourner <p>
#0099ff
.
Quand j'ai décocher la case, je le veux pour annuler cela.
Code que j'ai pour l'instant:
$('#checkbox').click(function(){
if ($('#checkbox').attr('checked')) {
/* NOT SURE WHAT TO DO HERE */
}
})
- "... quand elle est désactivée, pour désactiver la même fonction." - la fonction transmise à
.click()
est invoqué sur l'événement click. Donc je ne comprends pas ce que tu veux dire par "activer" et "désactiver". Si la case est cochée, vous pouvez appeler la fonctiona()
. Mais vous devez écrire l'inverse de la fonction à appeler lorsque la case n'est pas cochée. Je suis confus. - Vous pouvez, bien sûr,
.bind()
et.unbind()
les événements à un autre élément basé sur la case à cocher état. Est-ce que vous êtes après? - Désolé pour le spam mais je l'ai fait un exemple de quoi je parle.
- Je sais que c'est un vieux post, mais maintenant, jQuery utilise
prop()
pour que cette question a voulu utiliserattr()
; laprop()
méthode n'avait pas été créé à l'époque. Les réponses sur lesthis.checked
sont probablement encore utile, cependant.
Vous devez vous connecter pour publier un commentaire.
Je utilisation
.change()
etthis.checked
:--
Sur l'utilisation de
this.checked
Andy E a fait un excellent article sur la façon dont nous avons tendance à abuser de jQuery: en Utilisant la puissance impressionnante de jQuery pour accéder aux propriétés d'un élément. L'article traite spécifiquement de l'utilisation de
.attr("id")
mais dans le cas que#checkbox
est un<input type="checkbox" />
élément de la question est la même pour$(...).attr('checked')
(ou même$(...).is(':checked')
) vsthis.checked
.De l'essayer.
Parfois, nous overkill jquery. Beaucoup de choses peuvent être obtenus à l'aide de jquery avec du javascript.
Il peut arriver que des "ce.checked" est toujours "on". Je vous recommande donc de:
$(':checkbox')
afin de le faire fonctionner 😉c'est mieux si vous définissez une classe avec une couleur différente, puis vous passez la classe
de cette façon, votre code c'est plus propre parce que vous n'avez pas à spécifier toutes les propriétés css (disons que vous voulez ajouter une bordure, un style de texte ou autres...), mais vous venez de passer une classe
$('#checkbox').attr('checked')
, cependant, si nous savons que#checkbox
est une case à cocher (si pas, l'ID est plutôt trompeur).this.checked
fera.J'ai découvert un fou solution pour régler ce problème de case à cocher non vérifié ou vérifié
voici mon algorithme...
créer une variable globale permet de dire var check_holder
check_holder a 3 états
Si la case est coché,
Le code ci-dessus peut être utilisé dans beaucoup de situation pour savoir si une case a été cochée ou non cochée. Le concept derrière cela est de sauver la case unis dans une variable, c'est à dire quand il est sur "off".
j'Espère que la logique peut être utilisée pour résoudre votre problème.
Vérifier ce code:
Probablement, vous pouvez aller avec ce code, à prendre des mesures comme la case est cochée ou décochée.
Je ferais :
Voir : https://www.w3schools.com/jsref/prop_checkbox_checked.asp
Mise en œuvre optimale
Démo
JS:
HTML:
Pourquoi ne pas utiliser le construit en événements?