1.html代码
<body>
<form method="post" action="">
你爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选
<br/>
<input type="checkbox"name="love" value="篮球"/>篮球
<input type="checkbox"name="love" value="排球"/>排球
<input type="checkbox"name="love" value="羽毛球"/>羽毛球
<input type="checkbox"name="love" value="乒乓球"/>乒乓球
<br/>
<input type="button" value="全选" id="checkedAllBtn"/>
<input type="button" value="全不选" id="checkedNoBtn"/>
<input type="button" value="反选" id="checkedRevBtn"/>
<input type="button" value="提交" id="sendBtn"/>
</form>
</body>
2.JS代码
<script type="text/javascript">
window.function(){
//获取四个多选框love
var loves=document.getElementsByName("love");
//获取全选/全不选的多选框
var checkedAllBox= document.getElementById("checkedAllBox");
/*
全选按钮
-点击按钮以后,四个多选框全都被选中
*/
//1.checkedAllBtn
//为id为checkedAllBtn的按钮绑定一个单击相应函数
var checkedAllBtn=document.getElementById("checkedAllBtn");
checkedAllBtn.function(){
//遍历loves
for(var i=0;i<loves.length;i++){
//设置四个多选框变成选中状态
loves[i].checked=true;
}
checkedAllBox.checked=true;
};
/*
全不选
-点击按钮后,四个按钮全变成不选的状态
*/
//2.checkedNoBtn
var checkedNoBtn=document.getElementById("checkedNoBtn");
checkedNoBtn.function(){
//遍历loves2
for(var i=0;i<loves.length;i++){
//设置四个多选框变成非选中状态
loves[i].checked=false;
}
checkedAllBox.checked=false;
};
/*
反选
-点击按钮后,四个按钮全变成反选的状态
*/
var checkedRevBtn=document.getElementById("checkedRevBtn");
checkedRevBtn.function(){
for(var i=0;i<loves.length;i++){
//将checkedAllBox设置为选中状态
checkedAllBox.checked=true;
//判断多选框状态
/* if(loves[i].checked){
//证明多选框已选中,则设置为没选中状态
loves[i].checked=false;
}
else{
loves[i].checked=true
} */
loves[i].checked=!loves[i].checked;
if(!loves[i].checked){
//一旦进入判断,则证明不是全选状态
//将checkedAllOox设置为选中状态
checkedAllBox.checked=false;
//一旦进入判断,则已经得出结果,不用再 执行循环
}
};
//判断四个多选框是否全选
//只要有一个没选中就不是全选
}
/*
提交按钮:
-点击按钮以后,将所有的选中的多选框的value属性值弹出
*/
var sendBtn=document.getElementById("sendBtn");
sendBtn.function(){
for(var i=0;i<loves.length;i++){
var yourchoice=document.getElementById("yourchoice");
//判断多选框是否被选中
if(loves[i].checked){
alert(loves[i].value);
}
}
};
//当checkedAllBox
/*
全选/全不选多选框
-当它选中时,其他的也选中,当它取消时其余的也取消
在事件响应函数中,响应函数是给谁 绑定的this就是谁
*/
//为checkedAllBox绑定单击响应函数
var checkedAllBox= document.getElementById("checkedAllBox");
checkedAllBox.function(){
//设置多选框的选中状态
for(var i=0;i<loves.length;i++){
//loves[i].checked=checkedAllBox.checked;\
loves[i].checked=this.checked;
}
};
/*
如果四个多选框全部选中,则checkedAllBox也应被选中
如果四个多选框都没被选中,则checkedAllBox也不该被选中
*/
//为四个多选框分别绑定点击响应函数
for(var i=0;i<loves.length;i++){
loves[i].function(){
//将checkedAllBox设置为选中状态
checkedAllBox.checked=true;
for(var j=0;j<loves.length;j++){
//判断四个多选框是否全选
//只要有一个没选中就不是全选
if(!loves[j].checked){
//一旦进入判断,则证明不是全选状态
//将checkedAllOox设置为选中状态
checkedAllBox.checked=false;
//一旦进入判断,则已经得出结果,不用再 执行循环
break;
}
}
};
}
};
</script>
3.图片展示