Флажок установлен на флажок = false не работает

Я создаю HTML-ввод с checked="false", однако флажок отображается отмеченным.

Я сделал следующее в консоли javascript и не могу понять, что происходит. В результате HTML после использования .prop() для установки значения false выглядит так же, но теперь флажок не установлен в форме.

> $(':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">​
]

У меня создается впечатление, что я должен просто установить checked="checked" ИЛИ не включать проверенное свойство вообще, если его ложь - это лучшая практика? В любом случае я хотел бы знать, что происходит в приведенном выше коде.

Ответы

Ответ 1

Не ставьте checked="false"

Вы только поставили check = "checked" для действительного XHTML, иначе вы бы сделали

<input type="checkbox" checked>

Браузеру не важно, какое значение присваивается проверяемому атрибуту, как только он видит checked в теге ввода флажка, он помечен как отмеченный.