2009-11-24 3 views
0

Il y a beaucoup d'éléments radio d'entrée sur une page web et chaque élément radio a plusieurs options. Je veux qu'une fonction soit déclenchée chaque fois qu'une option d'un élément radio est vérifiée. Comment écrire le code en utilisant Jquery? Un élément d'entrée se présente comme suit:"pseudo-classe ou pseudo-élément 'radio'"

<div class="below"> 
<input type="radio" value="information" name="option0"/> 
information 
<input type="radio" value="communication" name="option0"/> 
communication 
<input type="radio" value="goods" name="option0"/> 
goods 
<input type="radio" value="attention" name="option0"/> 
attention 
</div> 

j'ai écrit le code comme suit:

$('input:radio').click(function() { 
    if (this.checked) { // or $(this).attr('checked') 
    alert(this.value); // or alert($(this).val()); 
    } 
}); 

Ma version est Jquery

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 

J'utilise Firefox. Sur la console d'erreur, il est écrit "pseudo-classe ou pseudo-élément 'radio'". Une idée? Qu'est-ce qui ne va pas?

Ma question précédente est proche de cette question mais je n'ai pas encore de solution. Donc je dois demander autour. J'espère que cette question ne sera pas fermée en tant que question dupliquée. Je vous remercie!

+0

Le code radio d'entrée est créé dynamiquement en utilisant Jquery. – Steven

Répondre

1

Peut-être que cela?

$('input[type=radio]').click(...); 
+2

Non, ça ne marche pas non plus. – Steven

+0

Pygorex1 est correct. Le sélecteur est $ ('input [type = radio']). Si vous avez encore des problèmes, je vous suggère de regarder au-delà du sélecteur que vous utilisez. –

0

Les éléments d'entrée sont généralement contenus dans un élément de formulaire, est-ce votre cas? Si c'est le cas, vous devez peut-être inclure l'élément de formulaire dans le sélecteur. Voir un exemple ici: http://docs.jquery.com/Selectors/radio

+0

Après avoir lu votre message, j'ai ajouté

de sorte que tous les éléments d'entrée sont contenues dans un élément de formulaire. Mais encore une fois, ça ne marche pas. – Steven

+0

Mais, le code fonctionne-t-il malgré l'erreur? – Konamiman

+0

Cette partie/cet extrait de code ne marche pas. Sur la console d'erreur, il dit toujours "pseudo-classe ou pseudo-élément 'radio'" inconnu. L'autre partie du code de Jquery fonctionne bien. – Steven

0

J'ai configuré une page de test simple avec votre code, et bien que j'obtiens la même erreur dans la console, cela fonctionne (le message d'alerte est montré chaque fois que je clique sur un bouton radio). Je poste le code de la page ici dans le cas où il vous aide à repérer quelque chose que vous avez manqué:

<html> 
<header> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
$('input:radio').click(function() { 
    if (this.checked) { // or $(this).attr('checked') 
    alert(this.value); // or alert($(this).val()); 
    } 
}); 
}); 
</script> 
</header> 
<body> 
<div class="below"> 
<input type="radio" value="information" name="option0"/> 
information 
<input type="radio" value="communication" name="option0"/> 
communication 
<input type="radio" value="goods" name="option0"/> 
goods 
<input type="radio" value="attention" name="option0"/> 
attention 
</div> 
</body> 
</html> 
+0

Le code radio d'entrée est créé dynamiquement à l'aide de Jquery. – Steven