Quelqu'un sait comment désélectionner tous les boutons radio d'un groupe de radio?
HTML:
<div id="emptimfields">
<label id="lbl_emptim">How regulary do you employ people to help cultivate your land? </label><br/><br/>
<fieldset data-role="controlgroup" data-type="vertical" id="emptim">
<input name="emptim" id="radio1" value="fromtimetotime" type="radio" openmrs-valuecoded="" />
<label for="radio1"> From time to time </label>
<input name="emptim" id="radio2" value="allthetime" type="radio" openmrs-valuecoded="" />
<label for="radio2">All the time</label>
<input name="emptim" id="radio3" value="dontknow" type="radio" openmrs-valuecoded="" />
<label for="radio3"> Don't know </label>
</fieldset>
</div>
Côté JQuery:
$('input:radio[name=emptim]:checked').prop('checked', false); // doesn't work
Il me manque certainement quelque chose de fondamental, mais je ne peux pas comprendre quel est le problème.
Tout d'abord, je coche Oui, puis une valeur du deuxième groupe de radio:
Ensuite, je coche Non pour masquer le deuxième groupe radio:
Ensuite, si je clique sur suivant, j'obtiens la valeur de ce que j'ai vérifié (mais je n'ai pas coché auparavant, alors je ne veux pas d'alerte, je veux que le bouton radio "De temps en temps" soit décoché):
Enfin, si je reviens, rien ne se passe:
Vous pouvez leur donner un nom de classe et essayer:
$('.classname').prop('checked', false);
Lorsque vous utilisez une version plus ancienne de jQuery que la version 1.6, vous devez être
$('<selector>').attr('checked', false);
MODIFIER :
Appelez la méthode .checkboxradio("refresh");
a également fonctionné pour moi.
$('input:radio[name=indicatorType]').each(function () { $(this).prop('checked', false); });
Solution alternative pour créer des boutons radio entiers non cochés d'un groupe de radios ('indicateurType' pour l'exemple de code ci-dessus).
Cela devrait le faire. Remarquez l'option d'actualisation à la fin pour forcer la mise à jour du groupe de contrôle.
Un autre avantage de cette méthode est qu'elle cible un groupe de radio spécifique par nom plutôt que toutes les commandes de radio d'une page.
$('input:radio[name=emptim]:checked').prop('checked', false).checkboxradio("refresh");
L'accessoire ne fonctionne pas pour moi, par cela fonctionne parfaitement:
('input:radio[name="RadioName"]').each(function () { $(this).attr('checked', false); });