Javascript:选中或取消选中分组复选框

Javascript:选中或取消选中分组复选框,javascript,function,checkbox,Javascript,Function,Checkbox,我有这样一个表格:- <form name="frmChkForm" id="frmChkForm"> <input type="checkbox" name="modules[1]" onclick="checkgroup(this)" value="1">Module 1<br> &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[1][1]

我有这样一个表格:-

<form name="frmChkForm" id="frmChkForm">
        <input type="checkbox" name="modules[1]" onclick="checkgroup(this)" value="1">Module 1<br>
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[1][1]">Unit 1
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[1][2]">Unit 2
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[1][3]">Unit 3<br>
        <input type="checkbox" name="modules[2]" onclick="checkgroup(this)" value="2">Module 2<br>
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[2][1]">Unit 4
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[2][2]">Unit 5
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[2][3]">Unit 6<br>
        <input type="checkbox" name="modules[3]" onclick="checkgroup(this)" value="3">Module 3<br>
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[3][1]">Unit 7
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[3][2]">Unit 8
        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="units[3][3]">Unit 9
</form>

模块1
第一单元 第二单元 第三单元 模块2
第四单元 第五单元 第六单元 模块3
第七单元 第八单元 第九单元
我想选中/取消选中每个模块下包含的所有子复选框(主复选框)

例如,如果我选中“模块1”,则只应选中单元1、2和3,取消选中“模块1”时,应取消选中这些单元。其他模块也应该有同样的行为

我正在寻找一个Javascript函数来执行此操作

试试这个

function checkgroup(obj){            
            var element = [];
            var inputs = document.getElementsByTagName("input");

            for(var i = 0; i < inputs.length; i++)
            {
                if(inputs[i].name.indexOf('units[' + obj.value + ']') == 0)
                {
                element.push(inputs[i]);
                }
            }

            if(obj.checked){
                for(i=0;i<element.length;i++){
                    element[i].checked = true;
                }
            }else{
                for(i=0;i<element.length;i++){
                    element[i].checked = false;
                }
            }
        } 
功能检查组(obj){
var元素=[];
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0;i
function checkgroup(obj){            
            var element = [];
            var inputs = document.getElementsByTagName("input");

            for(var i = 0; i < inputs.length; i++)
            {
                if(inputs[i].name.indexOf('units[' + obj.value + ']') == 0)
                {
                element.push(inputs[i]);
                }
            }

            if(obj.checked){
                for(i=0;i<element.length;i++){
                    element[i].checked = true;
                }
            }else{
                for(i=0;i<element.length;i++){
                    element[i].checked = false;
                }
            }
        } 
功能检查组(obj){
var元素=[];
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0;i例如(i=0;i3…2…1你试过什么?;)我在谷歌上搜索了一下,但没有找到。3…2…1你试过什么?;)我在谷歌上搜索了一下,但没有找到。如果这个答案是你正在搜索的,你应该接受这个答案;-)@hereandnow 78:每次我被要求在接受答案之前等待9分钟如果这个答案是你正在搜索的,你应该接受这个答案;-)@hereandnow 78:每次我被要求在回答之前等待9分钟接受答案