JS判断checkbox是否全被选中,当手动将所有checkbox都选中时,全选checkbox自动选中
html代码
<input type="checkbox" id="topBtn">全选/取消
<ul>
<li>
<input type="checkbox" class="item">大咪
</li>
<li>
<input type="checkbox" class="item">二咪
</li>
<li>
<input type="checkbox" class="item">三咪
</li>
<li>
<input type="checkbox" class="item">小咪
</li>
</ul>
js代码
var items=document.getElementsByClassName('item');
var topBtn=document.getElementById('topBtn');
//为全选checkbox添加事件
topBtn.onchange=function(){
for(var i=0;i<items.length;i++){
items[i].checked=this.checked;
}
};
//遍历所有的items,绑定onchange事件
for(var i=0;i<items.length;i++){
items[i].onchange=function(){
qxFn();
};
}
var qxFn=function(){
var count=0;//定义一个计数变量
for(var j=0;j<items.length;j++){//遍历items
if(items[j].checked==true){//如果状态为选中,count+1
count++;
}
if(count==items.length){//如果被选中的个数等于items的长度
topBtn.checked=true;//全选checkbox选中
}else{
topBtn.checked=false;//全选checkbox不选中
}
}
};
效果
本公子是个菜鸟,现在学的知识只会这么做,大家多多包涵~