简单实现 复选框的全选反选

来源:互联网 发布:手机联机软件 编辑:程序博客网 时间:2024/05/21 14:58

<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>全选反选</title>
</head>
<body>


<inputtype="button"value="全选"id="all">
<inputtype="button"value="反选"id="reverse">
<inputtype="checkbox"id="flagCheck">
<ulid="checkboxList">
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
<li><inputtype="checkbox"></li>
</ul>
<scripttype="text/javascript">


//1.找节点
var allBtn = document.querySelectorAll("#all")[0];
var reverseBtn = document.querySelector("#reverse");
var flagCheck = document.getElementById("flagCheck");
var checkList = document.querySelectorAll("#checkboxList input");
function checkAll() {
for(var j = 0; j < checkList.length; j++) {
if(!checkList[j].checked) {
break;
}
}
if(j == checkList.length) {
// alert("全部为真")
flagCheck.checked = true;
}else {
// alert("至少一个不为真");
flagCheck.checked = false;
}
}
//2.加事件
//全选
allBtn.onclick = function() {
if(flagCheck.checked) {
flagCheck.checked = false;
for(var i = 0; i < checkList.length; i++) {
checkList[i].checked = false;
}
}else {
flagCheck.checked = true;
for(var i = 0; i < checkList.length; i++) {
checkList[i].checked = true;
}
}


}
//反选
reverseBtn.onclick = function() {
for(var i = 0; i < checkList.length; i++) {
if(checkList[i].checked) {
checkList[i].checked = false;
}else {
checkList[i].checked = true;
}
}
//执行检查所有checkList是否被选上了
checkAll();
}


for(var i = 0; i < checkList.length; i++) {
checkList[i].onclick = checkAll;
}
</script>
</body>
</html>
原创粉丝点击