checkbox全选和子选

用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;
    }
}
原文地址:https://www.cnblogs.com/wang715100018066/p/6062610.html