web-dev-qa-db-fra.com

case à cocher définie sur vérifié = faux ne fonctionne pas

Je génère une entrée HTML avec checked="false", Mais la case à cocher apparaît cochée.

J'ai fait ce qui suit dans la console javascript et je n'arrive pas à comprendre ce qui se passe. Le code HTML résultant après avoir utilisé .prop() pour définir la valeur sur false est identique, sauf que la case à cocher n'est plus cochée sur le formulaire.

> $(':input[checked]').prop('checked');
< true
> $(':input[checked]')
< [
<input type=​"checkbox" class=​"caseVal" checked=​"false">​
]
> $(':input[checked]').prop('checked',false);
< [
<input type=​"checkbox" class=​"caseVal" checked=​"false">​
]

J'ai l'impression que je devrais simplement définir checked="checked" OR n'incluant pas du tout la propriété vérifiée si sa valeur fausse est la meilleure pratique? Quoi qu'il en soit, j'aimerais savoir ce qui se passe dans le code ci-dessus.

16
turbo2oh

Ne mettez pas checked="false"

Vous mettez uniquement vérifié = "vérifié" pour XHTML valide, sinon vous feriez

<input type="checkbox" checked>

Le navigateur ne se soucie pas de la valeur affectée à l'attribut vérifié, dès qu'il voit checked dans la balise d'entrée de la case à cocher, il est marqué comme vérifié.

30
user1094553