Comment faire pour réinitialiser les composants radiobutton dans jQuery, de sorte qu'aucun n'est cochée

J'ai des boutons radio dans le HTML comme ceci:

<td>
    <input id="radio1" type="radio" name="correctAnswer" value="1">1</input>
    <input id="radio2" type="radio" name="correctAnswer" value="2">2</input>
    <input id="radio3" type="radio" name="correctAnswer" value="3">3</input>
    <input id="radio4" type="radio" name="correctAnswer" value="4">4</input>
</td>

C'est dans une balise de formulaire, et lorsque l'utilisateur soumet un formulaire je veux faire tous les boutons de la radio à la valeur par défaut. Sens aucun d'entre eux vérifié.

J'ai ce code mais ça donne un message d'erreur indiquant que [0] is null or not an object

$('input[@name="correctAnswer"]')[0].checked = false;
$('input[@name="correctAnswer"]')[1].checked = false;
$('input[@name="correctAnswer"]')[2].checked = false;
$('input[@name="correctAnswer"]')[3].checked = false;

Je fais cela dans IE 6.

  • Si @lambacck réponse ne fonctionne pas pour vous voir le bug tracker sur le JQuery site [bugs.jquery.com/ticket/10910]. Si vous êtes (comme je l'ai été...)en boucle par le biais d'un ensemble de boutons radio pour tenter de les réinitialiser tous les paramètres par défaut de valeurs, la #(selector).prop('checked',true); échoue quand il a suivi, en tentant de définir un radio bouton dans le même groupe pour une décoché état. L'astuce est de ne fixer le bouton radio à un contrôle de l'état et de laisser le groupe de boutons radio, faire ce qu'il fait (décochez les autres...). Aussi, l'appel de $(selector).click(); œuvres, et fera feu de tout associer les événements.
InformationsquelleAutor | 2009-06-10