125 votes

Si la case à cocher est activée, procédez comme suit

Lorsque j’ai cochez la case, je veux qu’il doit tourner P #099ff, quand j’ai décocher la case à cocher je veux annuler qui. Je dois faire cela un autre moyen ?

Désolé j’aurais dû être plus clair, lorsque la case est cochée, je le veux pour activer une fonction, alors il a décoché, pour désactiver cette fonction même.

234voto

jensgram Points 18047

Je voudrais utiliser .change() et this.checked:

$('#checkbox').change(function(){
    var c = this.checked ? '#f00' : '#09f';
    $('p').css('color', c);
});

--

Sur l'utilisation de l' 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 qui #checkbox est un <input type="checkbox" /> élément de la question est la même pour $(...).attr('checked') (ou même $(...).is(':checked')) vs this.checked.

47voto

Chinmayee G Points 4434

Essayez ceci.

Parfois nous overkill jquery. Beaucoup de choses sont possibles à l’aide de jquery JavaScript simple.

34voto

Benny Neugebauer Points 5393

Il peut arriver que les « this.checked » est toujours « on ». Par conséquent, je recommande :

4voto

zedecliff Points 31

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

  1. état indéfini
  2. 0
  3. 1 état

Si la case est coché,

$(document).on("click","#check",function(){
    if(typeof(check_holder)=="undefined"){
          //this means that it is the first time and the check is going to be checked
          //do something
          check_holder=1; //indicates that the is checked,it is in checked state
    }
    else if(check_holder==1){
          //do something when the check is going to be unchecked
          check_holder=0; //it means that it is not checked,it is in unchecked state
    }
     else if(check_holder==0){
            //do something when the check is going to be checked
            check_holder=1;//indicates that it is in a checked state
     }
});

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X