2011-02-03 2 views

Répondre

6

Qu'est-ce que vous essayez de faire? Savoir si c'est vérifié?

$('.user_roles').click(function(){ 
    console.log($(this).is(':checked')); 
}); 

http://jsfiddle.net/petersendidit/FCrSg/1/

+0

au-dessus de la solution de travail pour moi parfaitement bien, mais j'ai aussi utilisé la fonction prop() Était également un travail parfaitement bien, mais pour la même dose de code ne fonctionne pas quelle est la raison derrière cela s'il vous plaît dites-moi – damon

+2

Cette réponse ne répond pas réellement à la question. – oneloop

57

L'attribut HTMLchecked signifie: vérifié par défaut, lorsque la page se charge. Ce ne changera pas lorsque la case est cochée.

<input type="checkbox" checked="checked"> <!-- The HTML attribute --> 

La propriété DOMchecked est en fait l'état actuel de la case à cocher et est soit vrai/faux. Ce va changer lorsque la case est cochée, mais n'est pas visible lorsque vous inspectez le code HTML.

$('input:check')[0].checked == true; 
// Whether or not the checkbox is currently checked 
+5

Ceci est la réponse. Oubliez les attributs. –

2

Si vous voulez voir apparaître sur l'élément affiché dans la console, utilisez la méthode setAttribute() native.

Exemple:http://jsfiddle.net/FCrSg/2/

this.setAttribute('checked',this.checked); 

Il ressemblerait à ceci:

$('.user_roles').click(function(){ 
    this.setAttribute('checked',this.checked); 
    console.log($(this)); 
}); 

Ensuite, la console devrait vous donner:

<input class=​"user_roles" type=​"checkbox" checked=​"true">​ 

Bien que vous le feriez normalement pas besoin de l'attribut défini comme ça. Typiquement, la propriété est suffisante.

Questions connexes