web-dev-qa-db-fra.com

Quelle est la bonne façon de cocher et décocher une case en HTML5?

Regardé la spécification HTML, mais ne pouvait en faire ni tête ni tête: http://www.w3.org/TR/html5/the-input-element.html#attr-input-checked =

Quelle est la bonne façon de cocher une case à cocher en HTML (pas de manière dynamique)?

checked="true"
checked="checked"

Quelle est la bonne manière de décochez une case à cocher?

<input type="checkbox" /> with no checked attribute
checked="false"
checked="none"

Où vérifier la spécification HTML pour cocher/décocher une case à cocher?

57
B Seven
<input type="checkbox" checked="checked" />

ou simplement

<input type="checkbox" checked />

pour cocher la case. Aucun attribut vérifié (<input type="checkbox" />) pour la case à cocher non cochée.

référence: http://www.w3.org/TR/html-markup/input.checkbox.html#input.checkbox.attrs.checked

67
valentinas

Selon les brouillons HTML5, l’attribut checked est un “ attribut booléen ”, et “La présence d’un attribut booléen sur un élément représente la valeur vraie, et l’absence de cet attribut représente la fausse valeur. "C'est le nom de l'attribut qui compte et qui suffit. Ainsi, pour faire une case à cocher initialement cochée, vous utilisez

<input type=checkbox checked>

Par défaut, en l'absence de l'attribut checked, une case à cocher est initialement décochée:

<input type=checkbox>

Garder les choses ainsi reste simple, mais si vous devez vous conformer à la syntaxe XML (c'est-à-dire utiliser HTML5 dans la linéarisation XHTML), vous ne pouvez pas utiliser un nom d'attribut seul. Ensuite, les valeurs autorisées (selon les brouillons HTML5) sont la chaîne vide et la chaîne checked, sans distinction de casse. Exemple:

<input type="checkbox" checked="checked" />
20
Jukka K. Korpela

<input type="checkbox" checked />

HTML5 ne nécessite pas d'attributs pour avoir des valeurs

8
secretformula

Dans jQuery:

Pour cocher la case:

$("#checkboxid").attr("checked","checked");

Pour décocher la case à cocher:

$("#checkboxid").removeAttr("checked");

Les autres réponses suggèrent la solution et indiquent une documentation qui, après avoir approfondi vos recherches, vous mènera à cette réponse. Jukka K. Korpela a la raison pour laquelle c'est la bonne réponse. En gros, j'ai suivi son lien, puis j'ai consulté la documentation jQuery pour en arriver à ce résultat. J'ai juste pensé sauver les futures personnes qui trouveraient dans cet article ces étapes supplémentaires.

6
Robert

Réponse complémentaire à la réponse de Robert http://jsfiddle.net/ak9Sb/ dans jQuery

Lorsque vous obtenez/définissez l'état de la case à cocher, vous pouvez rencontrer les phénomènes suivants:

.trigger("click");

Coche une case non cochée, mais n’ajoute pas l’attribut coché. Si vous utilisez des déclencheurs, n'essayez pas d'obtenir l'état avec l'attribut "vérifié".

.attr("checked", "");

Ne décoche pas la case à cocher ...

4
nicolallias

Vous pouvez vous référer à cette page à l’adresse w3schools , mais vous pouvez utiliser l’un des éléments suivants:

<input checked>
<input checked="checked">
<input checked="">
4
Bruno Vieira
<form name="myForm" method="post">
  <p>Activity</p> 
  skiing:  <input type="checkbox" name="activity" value="skiing"  checked="yes" /><br /> 
  skating: <input type="checkbox" name="activity" value="skating" /><br /> 
  running: <input type="checkbox" name="activity" value="running" /><br /> 
  hiking:  <input type="checkbox" name="activity" value="hiking"  checked="yes" />
</form>
1
Michael Durrant

vous pouvez utiliser autocomplete = "off" sur le formulaire parent, donc si vous rechargez votre page, les cases à cocher ne seront pas cochées automatiquement

0
N1gthm4r3