Javascript 选中所有HTML复选框

Javascript 选中所有HTML复选框,javascript,html,forms,Javascript,Html,Forms,我有一个小的复选框列表,如下所示,我注意到我可以使用type=reset的输入元素,它将取消选中所有复选框。 我知道使用输入比使用链接的onClick事件要好,因为我不会依赖JavaScript,但在本例中,两者都有 <a onclick="javascript:document.myList.reset();" href="#">select none</a> | <a href="#">select all</a> <form name

我有一个小的复选框列表,如下所示,我注意到我可以使用type=reset的输入元素,它将取消选中所有复选框。 我知道使用输入比使用链接的onClick事件要好,因为我不会依赖JavaScript,但在本例中,两者都有

<a onclick="javascript:document.myList.reset();" href="#">select none</a>  |
<a href="#">select all</a>
<form name="myList">
  <input type="checkbox" name="item1"/>Item 1<br/>
  <input type="checkbox" name="item2"/>Item 2<br/>
  <input type="reset" name="none"/>
  <input type="submit" name="submit"/>
</form>
实现全选的最佳方式是什么? 我可能需要编写一个JavaScript函数,使用type=checkbox循环遍历myList表单的所有输入元素,并将值设置为0或其他值。 另外,跨浏览器执行此操作的正确方式是什么


我假设没有HTML表单这样做,比如重置?我找不到。正确,没有HTML方式。您必须使用JavaScript或其他语言来实现它。

正确,没有HTML方法。您必须使用JavaScript或其他语言来实现它。

重置会将其设置为初始状态。这意味着,如果您的所有复选框都设置为“之前已选中”,然后更改,则按“重置”将使它们返回到该状态

我建议使用jQuery一次对许多元素进行更改:

$("form[name='myList'] :checkbox").attr("checked", true);
或者使用纯JavaScript:

for(var i in document.myList.childNodes)
    if(document.myList.childNodes[i].type == "checkbox")
        document.myList.childNodes[i].checked = true;

重置会将其设置为初始状态。这意味着,如果您的所有复选框都设置为“之前已选中”,然后更改,则按“重置”将使它们返回到该状态

我建议使用jQuery一次对许多元素进行更改:

$("form[name='myList'] :checkbox").attr("checked", true);
或者使用纯JavaScript:

for(var i in document.myList.childNodes)
    if(document.myList.childNodes[i].type == "checkbox")
        document.myList.childNodes[i].checked = true;
是的,你会用JS

for(var ix = 0; ix < document.myList.elements.count; ix++)
    if(document.myList.elements[ix].type == 'checkbox')
        document.myList.elements[ix].checked = true;
是的,你会用JS

for(var ix = 0; ix < document.myList.elements.count; ix++)
    if(document.myList.elements[ix].type == 'checkbox')
        document.myList.elements[ix].checked = true;

您还可以使用jquery函数

您也可以使用jquery函数

只是为了澄清,HTML重置将使一切恢复原状。如果您的复选框在呈现时被选中,则“重置”按钮将使其处于选中状态。只是为了澄清,HTML重置会将所有内容更改回原来的状态。如果在渲染时选中了复选框,则“重置”按钮将使其处于选中状态。我认为它是.checked=true;谢谢,这很好也很简单。我缩短了它并将其内联,以后可能会将其拔出,并在IE和firefox中进行了测试。最终产品:我认为是。检查=正确;谢谢,这很好也很简单。我缩短了它并将其内联,以后可能会将其拔出,并在IE和firefox中进行了测试。最终产品: