2010-03-10 7 views
2

Quel est le problème avec mon code. Lorsque je clique sur la case à cocher, rien ne se produitLa case à cocher Détecter a été cliquée avec JQuery?

$(document).ready(function(){ 
    $('input:checkbox[name=drawingNo]').click(function(){alert('I am here');});    
}); 
... 
<body> 
    <form> 
     <input type="checkbox" name="drawingNo" value="1"> 1 <br> 
     <input type="checkbox" name="drawingNo" value="2"> 2 <br> 
     <input type="checkbox" name="drawingNo" value="3"> 3 <br> 
     <input type="checkbox" name="drawingNo" value="4"> 4 <br> 
    </form> 
</body> 

EDIT: Le code ci-dessus a bien fonctionné. Ce qui m'arrive, c'est que la balise <input type="checkbox"> est générée par un autre script, donc quand document.ready() démarre, il ne peut pas enregistrer l'événement click sur checkbox, puisque ces checkbox ne sont pas encore là. Donc, pour le réparer: changer .click() en .live('click', function(){...})

Répondre

4

Votre sélection est mal ..

Le dessous est le meilleur format

$(document).ready(function(){ 
$("input[name='drawingNo']").live('click', function(){ 
alert('I am here'); 
});    
}); 
+0

ce qui est exactement ce que j'ai fait dans mon post édité. tyvm :) –

+0

vérifiez la façon dont le sélecteur est formaté "$ (" input [name = 'drawingNo'] ")" et l'événement en direct ajouté – Joberror

1

Cela fonctionne bien pour moi dans IE, FF et Chrome.

0

essayez de supprimer ': case à cocher' pour qu'il ressemble à:.

$ ('entrée [name = drawingNo]') cliquez sur (function() {alert ('Je suis ici');});

mieux?

+0

juste mis à jour mon post –

1

Utiliser .fn.live $ ...

$('input:checkbox[name=drawingNo]').live('click',function(){ 
    alert('I am here'); 
});
+0

qui est exactement ce que j'ai fait dans mon post édité. tyvm :) –

Questions connexes