176 votes

Attribuer une valeur initiale au bouton radio comme coché

Comment attribuer la valeur d'un bouton radio initialement coché en HTML ?

209voto

polarblau Points 10127

Vous pouvez utiliser le checked pour cela :

<input type="radio" checked="checked">

15 votes

Vous pouvez aussi simplement mentionner cet attribut sans lui attribuer de valeur, par exemple <input type="radio" checked>.

1 votes

@niksvp Je pense que checked="checked" est la manière valide de pré-cocher un bouton radio - utiliser simplement "checked" n'est pas un code HTML valide (bien qu'il soit supporté par la plupart des navigateurs).

11 votes

@matthewh - non, vous pouvez utiliser "checked" tout seul et c'est du HTML valide (mais pas du XHTML valide). Personnellement, je préfère 'checked="checked"', mais ce n'est pas le cas. tienen pour l'utiliser ... en effet, il y a de fortes chances pour que contre l'utiliser.

64voto

seedeg Points 4007

Vous pouvez simplement utiliser :

<input type="radio" checked />

Utiliser uniquement l'attribut checked sans indiquer de valeur est identique à checked="checked" .

0 votes

Comme l'a indiqué @Matt Healey, l'utilisation de checked sans l'attribut n'est pas un HTML valide.

18 votes

@salvob incorrect. il n'est pas valide X html, mais il est tout à fait valable pour le HTML5, qui est la norme la plus globale qui soit.

15voto

discodane Points 1363

J'ai mis cette réponse sur une question similaire qui a été marquée comme un doublon de cette question. La réponse a aidé un bon nombre de personnes, alors j'ai pensé l'ajouter ici aussi, juste au cas où.

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.

3voto

msanford Points 740

Pour tous ceux qui cherchent une solution pour Angular2 (2.4.8), puisque c'est une question génériquement populaire lors des recherches :

<div *ngFor="let choice of choices">
  <input type="radio" [checked]="choice == defaultChoice">
</div>

Cela ajoutera le checked à l'entrée en fonction de la condition, mais n'ajoutera rien si la condition échoue.

Ne pas faites-le :

[attr.checked]="choice == defaultChoice"

car cela ajoutera l'attribut checked="false" à chaque autre élément d'entrée.

Étant donné que le navigateur ne recherche que la présence de la balise checked (l'attribut clé ), en ignorant sa valeur, de sorte que la dernière entrée du groupe sera vérifiée.

3voto

YZ Zhe Points 21

Notez que si vous avez deux boutons radio avec le même attribut "name" et qu'ils ont l'attribut "required", le fait de leur ajouter l'attribut "checked" ne les rendra pas cochés.

Exemple : Ainsi, les deux boutons radio ne sont pas cochés.

<input type="radio" name="gender" value="male" required <?php echo "checked"; ?>/>
<input type="radio" name="gender" value="female" required />

Le bouton radio "homme" sera ainsi coché.

<input type="radio" name="gender" value="male" <?php echo "checked"; ?>/>
<input type="radio" name="gender" value="female" />

Prograide.com

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.

Powered by:

X