74

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

4

9 回答 9

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

于 2012-10-03T01:10:18.980 回答
26

根据 HTML5 草案,该checked属性是“<a href="http://www.w3.org/TR/html5/common-microsyntaxes.html#boolean-attributes" rel="noreferrer">布尔属性”,并且“元素上布尔属性的存在表示真值,而属性的缺失表示假值。” 它是重要且足够的属性的名称。因此,要使复选框最初被选中,您可以使用

<input type=checkbox checked>

默认情况下,在没有该checked属性的情况下,最初未选中复选框:

<input type=checkbox>

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

<input type="checkbox" checked="checked" />
于 2012-10-03T08:42:16.383 回答
7

<input type="checkbox" checked />

HTML5 不要求属性有值

于 2012-10-03T01:07:43.947 回答
6

在 jQuery 中:

要选中复选框:

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

要取消选中该复选框:

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

其他答案暗示了解决方案,并指出您在进一步挖掘后将获得此答案的文档。Jukka K. Korpela 有理由这是正确的答案,基本上我按照他的链接,然后查找 jQuery 文档以获得该结果。只是想我会为以后找到这篇文章的人节省那些额外的步骤。

于 2014-01-30T18:07:02.247 回答
5

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

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

.trigger("click");

选中未选中的复选框,但不添加选中的属性。如果您使用触发器,请不要尝试获取具有“已检查”属性的状态。

.attr("checked", "");

不取消选中复选框...

于 2014-04-02T09:08:05.990 回答
5

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

于 2019-03-06T05:56:52.607 回答
5

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

将其设置为checked

<input type="checkbox" checked>

将其设置为unchecked

<input type="checkbox" unchecked>

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

于 2021-03-20T15:33:50.947 回答
4

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

<input checked>
<input checked="checked">
<input checked="">
于 2012-10-03T01:10:02.977 回答
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>
于 2012-10-03T01:09:53.790 回答