Как правильно проверить и снять флажок в HTML5?

посмотрел на спецификацию HTML, но не смог сделать орел или решку:http://www.w3.org/TR/html5/the-input-element.html#attr-input-checked

Как правильно установить флажок в HTML (не динамически)?

checked="true"
checked="checked"

каков правильный способ убрать галку?

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

где проверить спецификацию HTML, чтобы проверить / снять флажок?

7 ответов


<input type="checkbox" checked="checked" />

или просто

<input type="checkbox" checked />

для установки флажка. Нет проверенного атрибута (<input type="checkbox" />) для снят флажок.

ссылка: http://www.w3.org/TR/html-markup/input.checkbox.html#input.checkbox.attrs.checked


согласно проектам HTML5, - это "логический атрибут", и " наличие логического атрибута на элементе представляет истинное значение, а отсутствие атрибута представляет ложное значение.- Важно имя атрибута, и этого достаточно. Таким образом, чтобы сделать флажок изначально установлен, вы используете

<input type=checkbox checked>

по умолчанию, при отсутствии checked атрибут, флажок изначально unchecked:

<input type=checkbox>

сохранение вещей таким образом сохраняет их простыми, но если вам нужно соответствовать синтаксису XML (т. е. использовать HTML5 в линеаризации XHTML), вы не можете использовать только имя атрибута. Тогда допустимыми (согласно проектам HTML5) значениями являются пустая строка и строка checked, независимо от регистра. Пример:

<input type="checkbox" checked="checked" />

<input type="checkbox" checked />

HTML5 не требует, чтобы атрибуты имели значения


в jQuery:

проверьте флажок:

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

снимите флажок:

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

другие ответы намекают на решение и указывают вам на документацию, которая после дальнейшего копания приведет вас к этому ответу. Jukka K. Korpela имеет причину, по которой это правильный ответ, в основном я последовал по его ссылке, а затем посмотрел документы jQuery, чтобы получить этот результат. Просто подумал, что я спасу будущих людей, которые найдут эту статью, те дополнительные лестница.


вы можете обратиться к этой странице в w3schools но в принципе вы можете использовать любой из:

<input checked>
<input checked="checked">
<input checked="">

дополнительный ответ на ответ Роберта http://jsfiddle.net/ak9Sb/ в jQuery

при получении / установке состояния флажка можно столкнуться с этими явлениями:

.trigger("click");

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

.attr("checked", "");

не снимает флажок...


<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>