问题描述
看了 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 规范来检查/取消选中复选框?
最佳解决办法
<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 草案,checked
属性是 「boolean attribute」,「元素上的布尔属性的存在表示真实值,而不存在属性则表示虚假值」 。属性的名称事情足够了。因此,要使一个复选框初始检查,您使用
<input type=checkbox checked>
默认情况下,在没有 checked
属性的情况下,最初未选中复选框:
<input type=checkbox>
保持这种方式可以使它们变得简单,但是如果您需要遵循 XML 语法 (即在 XHTML 线性化中使用 HTML5),则不能单独使用属性名称。然后,允许的 (按照 HTML5 草稿) 的值是空字符串和字符串 checked
,不区分大小写。例:
<input type="checkbox" checked="checked" />
第三种解决办法
<input type="checkbox" checked />
HTML5 不要求属性具有值
第四种办法
您可以在 w3schools 上参考此页面,但基本上您可以使用以下任何一种:
<input checked>
<input checked="checked">
<input checked="">
第五种办法
在 jQuery 中:
选中复选框:
$("#checkboxid").attr("checked","checked");
要取消选中复选框:
$("#checkboxid").removeAttr("checked");
其他答案提示解决方案,并指出您进一步挖掘之后的文档将让您得到这个答案。 Jukka K. Korpela 有理由这是正确的答案,基本上我按照他的链接,然后查找 jQuery 文档来获得这个结果。只是想到我会保存未来的人谁找到这篇文章那些额外的步骤。
第六种办法
罗伯特答案的补充答案 http://jsfiddle.net/ak9Sb/在 jQuery 中
获取/设置复选框状态时,可能会遇到这些现象:
.trigger("click");
检查未勾选的复选框,但不要添加 checked 属性。如果使用触发器,不要尝试使用”checked” 属性获取状态。
.attr("checked", "");
不取消选中复选框…
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。