J'ai quelques boutons radio et je veux que l'un d'entre eux soit sélectionné par défaut lors du chargement de la page. Comment puis-je faire cela ?
<input type="radio" name="imgsel" value="" />
J'ai quelques boutons radio et je veux que l'un d'entre eux soit sélectionné par défaut lors du chargement de la page. Comment puis-je faire cela ?
<input type="radio" name="imgsel" value="" />
Solution XHTML :
<input type="radio" name="imgsel" value="" checked="checked" />
Veuillez noter que la valeur réelle de checked
n'a pas d'importance en réalité ; c'est juste une convention pour assigner "checked"
. Plus important encore, les chaînes de caractères comme "true"
ou "false"
n'ont pas de signification particulière.
Si vous ne visez pas la conformité XHTML, vous pouvez simplifier le code à :
<input type="radio" name="imgsel" value="" checked>
Il est tout aussi important de connaître le piège que cela représente : Vous devez vous assurer qu'AUCUNE autre entrée dans ce groupe de boutons radio ne contient le balisage checked="false", ni "checked" par lui-même. Sinon, la dernière de ces entrées qui apparaît sur la page sera cochée. Seule l'entrée que vous voulez sélectionner par défaut doit avoir une balise contenant "checked".
Si le problème persiste, vous devez ajouter l'attribut autocomplete="off" pour forcer le navigateur à définir la valeur par défaut.
<input type="radio" name="imgsel" value="" checked="false" />
entraîne également la vérification du bouton.
Je suggère d'utiliser uniquement checked
ou checked="checked"
y avec véhémence éviter d'utiliser "vrai" car cela implique que "faux" fera le contraire... ce qui n'est pas le cas.
Le premier choix est la bonne réponse. Les attributs booléens ne doivent pas avoir de valeurs.
Cela ne répond pas exactement à la question, mais pour tous ceux qui utilisent AngularJS et tentent d'atteindre cet objectif, la réponse est légèrement différente. En fait, la réponse normale ne fonctionnera pas (en tout cas, elle ne l'a pas fait pour moi).
Votre code html sera assez semblable à celui d'un bouton radio normal :
<input type='radio' name='group' ng-model='mValue' value='first' />First
<input type='radio' name='group' ng-model='mValue' value='second' /> Second
Dans votre contrôleur, vous aurez déclaré l'élément mValue
qui est associé aux boutons radio. Pour que l'une de ces cases d'option soit présélectionnée, attribuez l'attribut $scope
associée au groupe à la valeur de l'entrée souhaitée :
$scope.mValue="second"
Ainsi, le "deuxième" bouton radio est sélectionné au chargement de la page.
EDIT : Depuis AngularJS 2.x
L'approche ci-dessus ne fonctionne pas si vous utilisez la version 2.x et supérieure. Utilisez plutôt ng-checked
comme suit :
<input type='radio' name='gender' ng-model='genderValue' value='male' ng-checked='genderValue === male'/>Male
<input type='radio' name='gender' ng-model='genderValue' value='female' ng-checked='genderValue === female'/> Female
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.