Javascript - 检查复选框不起作用

标签 javascript checkbox

最近我尝试让一个小的 JavaScript 工作,它只会检查一些复选框。问题是,我对 Javascript 一无所知,因此在查看 google 结果时我有点迷失。

到目前为止,我使用了在网上找到的语法检查器,没有给出任何错误(这是一个好兆头,但无论如何它都不起作用)。 为了防止您询问,提交的复选框名称是正确的 (;

这是我到目前为止的代码,任何帮助将不胜感激,并提前致谢!

function checkAll(name) {
var flag = 0;
//get all checkboxes with that name
var checkboxes = document.getElementsByName(name);

//look if the check all box is checked or not, set the flag
if (document.getElementByName('check_all').checked === true) {
    flag = 1;
}
for (var i = 0; i < checkboxes.length; i++) {
    //check the boxes or uncheck them
    if (flag == 1) {
        checkboxes[i].checked = true;
    }
    else {
        checkboxes[i].checked = false;
    }
}
}

最佳答案

没有 document.getElementByName 函数可以按名称获取单个元素。您需要将其更改为 ID 并使用:

if(document.getElementById('check_all').checked === true) {
    flag = 1;
}

或者使用 document.getElementsByName('check_all')[0] 代替 document.getElementByName('check_all')。不过,这假设页面上只有一个名为 check_all 的元素;如果有多个,您需要考虑使用其他方式来唯一地标识它们(例如 ID)。

关于Javascript - 检查复选框不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21753199/

相关文章:

javascript - 导航菜单下拉顶级不起作用

javascript - 跟踪带有复选框的两个进度条的平均值

javascript - 大 for 循环挂起 javascript 引擎

javascript 无法与 doctype 一起使用

javascript - 如何使用 jQuery 更新 Json 对象?

JavaScript 读取响应 - JSON - FaceAPI

javascript - 复选框如何通过 javascript 触发 html 中的另一个输入元素?

php - 如何使用关联数组从复选框获取 id 并从文本字段获取适当的值

jquery - jquery 选中/取消选中复选框列表

javascript - 清除间隔不起作用