效果图如下:
实现效果如下:
1点击全选按钮,四个多选框全部选中
2点击全不选按钮,四个多选框全部不选中
3点击反选按钮,四个多选框状态取反
4点击提交按钮,将所有被选中的多选框以弹窗的形式弹出
5最上方的按钮会根据四个多选框的选中情况依次变化
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
window.onload=function(){
var items=document.getElementsByName("items");
var checkedAllBox=document.getElementById("checkedAllBox");
/*
全选按钮
点击按钮以后,四个多选框全都被选中
*/
//1.#checkedAllBtn
//为id为checkedAllBtn的按钮绑定单击响应函数
var checkedAllBtn=document.getElementById("checkedAllBtn");
checkedAllBtn.onclick=function(){
checkedAllBox.checked=true;
for(var i=0;i<items.length;i++)//遍历数组
{
items[i].checked=true;
}
}
//2.#checkedNoBtn
//为id为checkedNoBtn的按钮绑定单击响应函数
var checkedNoBtn=document.getElementById("checkedNoBtn");
checkedNoBtn.onclick=function(){
checkedAllBox.checked=false;
for(var i=0;i<items.length;i++)//遍历数组
{
items[i].checked=false;
}
}
//3.#checkedRevBtn
//为id为checkedRevBtn的按钮绑定单击响应函数
var checkedRevBtn=document.getElementById("checkedRevBtn");
checkedRevBtn.onclick=function(){
for(var i=0;i<items.length;i++)//遍历数组
{
items[i].checked=!items[i].checked;
}
}
//4.#sendBtn
//点击按钮以后,将所有选中的多选框的value属性值弹出
var sendBtn=document.getElementById("sendBtn");
sendBtn.onclick=function(){
for(var i=0;i<items.length;i++){
if(items[i].checked){
alert(items[i].value);
}
}
}
//5.#checkedAllBox
//当选中时,多选框也全部选中,当不选中时,多选框也全部不选中
checkedAllBox.onclick=function(){
for(var i=0;i<items.length;i++)
{
items[i].checked=checkedAllBox.checked;
//items[i].checked=this.checked;//两者完全等价
}
};
//6.#Items
//如果四个多选框全都选中,则checkedAllBox也选中
//如果四个多选框有一个没选中,则checkedAllBox也不选中
//为四个多选框分别绑定响应函数
for(var i=0;i<items.length;i++){
var j;
items[i].onclick=function(){
for( j=0;j<items.length;j++){
if(items[j].checked==false)
break;
}
if(j==items.length)
checkedAllBox.checked=true;
else
checkedAllBox.checked=false;
}
}
};
</script>
</head>
<body>
<form method="post" action="">
你爱好的运动是?<input type="checkbox" id="checkedAllBox">全选/全不选
<br>
<input type="checkbox" name="items" value="足球">足球
<input type="checkbox" name="items" value="篮球">篮球
<input type="checkbox" name="items" value="羽毛球">羽毛球
<input type="checkbox" name="items" value="乒乓球">乒乓球
<br>
<input type="button" id="checkedAllBtn" value="全选">
<input type="button" id="checkedNoBtn" value="全不选">
<input type="button" id="checkedRevBtn" value="反选">
<input type="button" id="sendBtn" value="提交">
</form>
</body>
</html>