每当有多个选项的时候,都会有一种想法是:全选,全不选,如果子选项有被选,父选项也得被选。
注意:这里是根据id来获取元素的,但是不能直接用getElementById,因为那只能返回一个,而不是集合。
直接上代码:全选/全不选
function check_all(obj,id) { var elements = document.getElementsByName("chk[]"); var str = "" + elements.length; for(i = 0;i < elements.length;i++) { if(elements[i].id == id) elements[i].checked = obj.checked; } }
<input id="registBlock" name="block[]" onclick="check_all(this,'sub')" checked="" type="checkbox">
<label><input id="regist" name="chk[]" onclick="check_child(this,'sub')" value="1" checked="" type="checkbox">子模块1</label>
<label><input id="regist" name="chk[]" onclick="check_child(this,'sub')" value="2" checked="" type="checkbox">子模块2</label>