2010-11-15 4 views
0

Est-ce que quelqu'un sait pourquoi cela ne fonctionne pas? Il sera toujours imprimé «non coché».cochez une case cochée jquery

<html> 
<head> 
<script type="text/javascript" src="jquery.js"></script> 

<script type="text/javascript"> 

function msg(x) 
{ 

if($(x).attr('checked')){ 
    alert('checked!!'); 
} 
else{ 
    alert('unchecked'); 
} 

} 

</script> 


</head> 
<body> 

<form> 
<input type="checkbox" id="fname2" onClick="msg(this.id)" /><br/> 

</form> 

</body> 
</html> 

Répondre

6

Vous envoyez this.id à la fonction, alors vous envelopper dans le $(). Cela ne fonctionne pas. Vous avez juste besoin d'envoyer this à msg: onClick="msg(this)".

+1

Si vous voulez envoyer des ID à msg, vous devez faire: '$ ('#' + x) '. –

1

Vous avez besoin d'un # pour indiquer à jQuery que vous voulez sélectionner un ID X plutôt qu'un élément X.

if($('#'+x).attr('checked')) 

Ou, si vous changez onClick="msg(this.id)"-onClick="msg(this)" vous pouvez utiliser:

if($(x).attr('checked')) 
2

Utilisez

function chkChecked(elmt) { 
    if($(elmt).is(':checked')) { 
     alert('checked!!'); 
    } 
    else alert('unchecked'); 
} 
Questions connexes