在HTML5中检查和取消选中checkbox的正确方法是什么?
看了看HTML规范,却无法做到: http : //www.w3.org/TR/html5/the-input-element.html#attr-input-checked
什么是正确的方式来检查HTML中的checkbox(不dynamic)?
checked="true" checked="checked"
什么是取消checkbox的正确方法?
<input type="checkbox" /> with no checked attribute checked="false" checked="none"
在哪里检查HTML规范检查/取消checkbox?
<input type="checkbox" checked="checked" />
或干脆
<input type="checkbox" checked />
选中checkbox。 没有检查属性( <input type="checkbox" />
)未勾选checkbox。
参考: http : //www.w3.org/TR/html-markup/input.checkbox.html#input.checkbox.attrs.checked
根据HTML5的草案, checked
属性是一个“ 布尔属性 ”,“一个元素上布尔属性的存在代表真值,而缺less属性代表假值”。属性的名称重要的,并且足够的。 因此,要使最初检查checkbox,您使用
<input type=checkbox checked>
默认情况下,在缺lesschecked
属性的情况下,最初取消选中checkbox:
<input type=checkbox>
以这种方式保持事情使它们变得简单,但是如果您需要遵从XML语法(即在XHTML线性化中使用HTML5),则不能单独使用属性名称。 然后允许的(根据HTML5草案)值是空string和stringchecked
,不区分大小写。 例:
<input type="checkbox" checked="checked" />
<input type="checkbox" checked />
HTML5不要求属性具有值
你可以参考这个页面在w3schools,但基本上你可以使用任何:
<input checked> <input checked="checked"> <input checked="">
在jQuery中:
要检查checkbox:
$("#checkboxid").attr("checked","checked");
取消选中checkbox:
$("#checkboxid").removeAttr("checked");
其他答案提示解决scheme,并指出你的文档,进一步挖掘将让你这个答案。 Jukka K. Korpela有这个正确的答案的原因,基本上我跟着他的链接,然后查找jQuery文档来得到这个结果。 只是想,我会保存未来的人谁发现这篇文章的额外步骤。
Robert在jQuery中的回答http://jsfiddle.net/ak9Sb/的补充答案;
当获取/设置checkbox状态时,可能会遇到这些现象:
.trigger("click");
是否检查未选中的checkbox,但不要添加已选中的属性。 如果你使用触发器,不要试图获得具有“checked”属性的状态。
.attr("checked", "");
不取消checkbox…
<form name="myForm" method="post"> <p>Activity.</p> skiing: <input type="checkbox" checked="yes" name="activity" value="skiing" /><br /> skating: <input type="checkbox" name="activity" value="skating" /><br /> running: <input type="checkbox" name="activity" value="running" /><br /> hiking: <input type="checkbox" checked="yes" name="activity" value="hiking" /> </form>