javascript - 选择 HTML 中的所有复选框

标签 javascript html

你好,

我有一个 HTML,其中有几个带有复选框的项目列表(这些都放在一个表中)。表格中的每一行都有以下列:

<input type='checkbox' name='Events[]' value='1'>
<input type='checkbox' name='Events[]' value='2'>
etc

我想制作一个链接名称“全选”,单击时将选择所有项目。

我正在使用以下 JS,但它不起作用。

    function SelectAll(form)
    {
        for(var i in form.Events.childNodes)
            if(form.Events.childNodes[i].type == "checkbox")
                form.Events.childNodes[i].checked = true;
    }

最佳答案

您输入的 nameEvents[],所以 form.Events 找不到它

因为方括号不适合 JavaScript o.p 属性访问快捷方式,您必须使用基于字符串的显式表示法来获取它们:

var inputs= form.elements['Events[]'];

form.elements 集合(以及表单集合本身——form['Events[]']——它是同一事物的非标准化快捷方式,但名称冲突的可能性更大)有点老派并且有一些缺点,例如当只有一个元素时返回单个元素而不是列表。您最好使用 getElementsByName:

var inputs= form.getElementsByName('Events[]');

无论哪种方式,跟进:

for (var i= inputs.length; i-->0;)
    inputs.checked= true;

切勿使用 for...in 来迭代数组或类似数组的序列。它根本不会按照你的想法去做。坚持老式的索引循环。

关于javascript - 选择 HTML 中的所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959504/

相关文章:

javascript - react Hook : paradigm transition problem from sync to async

javascript - Materialise CSS 框架抛出错误

javascript - 使用jquery计算gridview中的行总计和总计

javascript - 单击内部按钮时防止单击父 A 标记

javascript - 如何使用 java 脚本将动态值存储在本地存储中?

javascript - 在 zip 中从 s3 下载多个文件的正确方法?

javascript - 修改从 title 属性出现的工具提示

html - CSS:任何内容的第一个单词后换行

javascript - 这个 CSS 菜单是如何创建的?

javascript - 关于克隆/复制TR的一些问题