<div id="congras_area">
<input type="checkbox" name="" id="congrasCheck" />全选
<input type="checkbox" name="" />
<input type="checkbox" name="" />
<input type="checkbox" name="" />
</div>
p{width:20px; height:20px;}
.more{width:20px; height:20px; background: #fcf;}
$(document).ready(function(){
var checkCount = $("input[type=checkbox]").size();//checkbox的总个数
var checkSonCount = $("input[type=checkbox]:not(#congrasCheck)").size();//除全选框外的个数
console.log(checkCount); $("input[type=checkbox]:not(#congrasCheck)").change(function(){
var selectedCount = $("input[type=checkbox]:not(#congrasCheck):checked").size();//除全选框外的多选框选中的个数
console.log(selectedCount);
if(selectedCount==checkSonCount){
$("#congrasCheck").prop('checked',true);
}else{
$("#congrasCheck").prop('checked',false);
if(selectedCount==0){
$("p").addClass("more");
}else{
$("p").removeClass("more");
}
}
if($(this).prop("checked")){
console.log("dddd");
}
});
$("#congrasCheck").change(function(){
if($(this).prop("checked")){
$("input[type=checkbox]:not(#congrasCheck)").prop('checked',true);
}else{
$("input[type=checkbox]:not(#congrasCheck)").prop('checked',false);
$("p").addClass("more");
}
});
});
http://jsbin.com/tonibogaco/edit?html,output
多选框没有一个被选中的情况下添加.more类
效果相反的效果:
http://jsbin.com/juviyojole/edit?html,output
只要有一个多选框被选中就添加.more类