Javascript - 检查复选框不起作用

时间:2014-02-13 11:41:29

标签: javascript checkbox

最近我尝试了一个小的javascript工作,只能检查一些复选框。问题是,我对Javascript没有任何线索,因此在查看谷歌搜索结果时我有点迷失。

到目前为止,我使用了我在网上找到的语法检查程序,它没有出错(一个好的迹象,但它无论如何都没有用)。 为了防止您询问,复选框的提交名称是正确的(;

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

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;
    }
}
}

1 个答案:

答案 0 :(得分:4)

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

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

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