Quelle méthode serait préférable d'utiliser pour définir de manière sélective un ou plusieurs boutons radio sur le paramètre souhaité avec JavaScript?
Très simple
radiobtn = document.getElementById("theid");
radiobtn.checked = true;
la forme
<form name="teenageMutant">
<input value="aa" type="radio" name="ninjaTurtles"/>
<input value="bb" type="radio" name="ninjaTurtles"/>
<input value="cc" type="radio" name="ninjaTurtles" checked/>
</form>
value = "cc" sera coché par défaut, si vous supprimez le "coché", les cases seront cochées lors du premier chargement du formulaire.
document.teenageMutant.ninjaTurtles[0].checked=true;
maintenant, valeur = "aa" est cochée. Les autres cases à cocher de la radio ne sont pas cochées.
le voir en action: http://jsfiddle.net/yaArr/
Vous pouvez faire la même chose en utilisant l'ID de formulaire et l'ID de bouton radio. Voici un formulaire avec les identifiants.
<form id="lizardPeople" name="teenageMutant">
<input id="dinosaurs" value="aa" type="radio" name="ninjaTurtles"/>
<input id="elephant" value="bb" type="radio" name="ninjaTurtles"/>
<input id="dodoBird" value="cc" type="radio" name="ninjaTurtles" checked/>
</form>
value = "cc" est coché par défaut.
document.forms["lizardPeople"]["dinosaurs"].checked=true;
maintenant, valeur = "aa" avec id = "dinosaurs" est cochée, comme avant.
Voyez-le en action: http://jsfiddle.net/jPfXS/
Vanille Javascript:
yourRadioButton.checked = true;
jQuery:
$('input[name=foo]').prop('checked', true);
ou
$("input:checkbox").val() == "true"
Vous pouvez également définir explicitement la valeur du bouton radio:
<form name="gendersForm">
<input type="radio" name="gender" value="M" /> Man
<input type="radio" name="gender" value="F" /> Woman
</form>
avec le script suivant:
document.gendersForm.gender.value="F";
et le bouton radio correspondant sera coché automatiquement.
Regardez le exemple sur JSFiddle .
/**
* setCheckedValueOfRadioButtonGroup
* @param {html input type=radio} vRadioObj
* @param {the radiobutton with this value will be checked} vValue
*/
function setCheckedValueOfRadioButtonGroup(vRadioObj, vValue) {
var radios = document.getElementsByName(vRadioObj.name);
for (var j = 0; j < radios.length; j++) {
if (radios[j].value == vValue) {
radios[j].checked = true;
break;
}
}
}
Je suis en train de configurer un bouton radio dans un fragment de document et j'ai essayé d'utiliser radiobtn.checked = true;
.
Cela n'a pas fonctionné, je suis donc allé avec cette solution:
radiobtn.setAttribute("checked", "checked");