用jq:
$(function() { var $subBox = $("input[name='subBox']"); $("#checkAll").click(function() { $subBox.prop("checked",$("#checkAll").is(':checked') ? true : false); }); $subBox.click(function(){ $("#checkAll").prop("checked",$subBox.length == $("input[name='subBox']:checked").length ? true : false); }); });
用js:
var subBox = document.getElementsByName("subBox"); var checkAll = document.getElementById("checkAll"); checkAll.onclick = function() { if(checkAll.checked){ for(i=0;i<subBox.length;i++){ subBox[i].checked = true; } }else{ for(i=0;i<subBox.length;i++){ subBox[i].checked = false; } } }; for(i=0;i<subBox.length;i++){ var checkbox = subBox[i];//给所有的元素都添加点击事件,便于全局控制 checkbox.onclick = function(){ // if(checkbox.checked){//子集全部都被点击的时候,省去了判断个数的步骤 // checkAll.checked = true; // }else{ // checkAll.checked = false; // } checkAll.checked = checkbox.checked ? true:false; } }