最近我尝试让一个小的 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/