检查和取消选中HTML5中的复选框的正确方法是什么?

时间:2012-10-03 01:05:41

标签: html html5 checkbox checked

查看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规范以选中/取消选中复选框?

9 个答案:

答案 0 :(得分:66)

<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

答案 1 :(得分:20)

根据HTML5草案,checked属性为“boolean attribute”,并且“元素上存在布尔属性表示真值,缺少属性表示为false值。“这是重要的属性的名称,并且足够。因此,要初始选中复选框,请使用

<input type=checkbox checked>

默认情况下,如果没有checked属性,则最初取消选中复选框:

<input type=checkbox>

以这种方式保持简单,但如果您需要符合XML语法(即在XHTML线性化中使用HTML5),则不能单独使用属性名称。然后,允许的(根据HTML5草稿)值是空字符串和字符串checked,不区分大小写。例如:

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

答案 2 :(得分:8)

<input type="checkbox" checked />

HTML5不要求属性具有值

答案 3 :(得分:6)

在jQuery中:

选中复选框:

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

取消选中复选框:

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

其他答案提示解决方案,并指出您的文档,进一步挖掘后将得到您的答案。 Jukka K. Korpela之所以这是正确的答案,基本上我跟着他的链接,然后查找jQuery文档以获得该结果。刚想到我会为那些发现这篇文章的未来人员节省额外的步骤。

答案 4 :(得分:4)

您可以在w3schools参考此页面,但基本上您可以使用以下任何一项:

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

答案 5 :(得分:4)

罗伯特在jQuery中回答http://jsfiddle.net/ak9Sb/的补充答案

获取/设置复选框状态时,可能会遇到这些现象:

.trigger("click");

选中未选中的复选框,但不添加选中的属性。 如果您使用触发器,请不要尝试使用&#34;检查&#34;属性。

.attr("checked", "");

不取消选中复选框...

答案 6 :(得分:1)

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

答案 7 :(得分:1)

我不完全确定为什么之前没有提到这一点,但对我来说,以下是有效的:

<input type="checkbox" checked> 将其设置为已选中。 <input type="checkbox" unchecked> 将其设置为未选中。

(我遇到了重新加载页面后复选框仍处于选中状态的问题。使用 unchecked 解决了我的问题,因此它可能对其他人有用。)

答案 8 :(得分:0)

您可以在父表单上使用autocomplete =“ off”,因此,如果您重新加载页面,则不会自动选中复选框