通过上期【JavaScript】DOM和事件简介和文档加载流程以及DOM查询(上)案例(附源码)再接一个全选小练习。
实现效果:
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
window.onload = function(){
//找到所有元素
var items = document.getElementsByName('item');
//全选和全不选的按钮
var checkAll = document.getElementById('checkAll');
//给全选框添加单击事件函数
document.getElementById('checkAllBtn').onclick = function(){
//找到所有元素
for(var i = 0; i<items.length; i ++){
items[i].checked = true;
}
checkAll.checked = true;
}
//给全不选框添加单击事件函数
document.getElementById('checkAllNoBtn').onclick = function(){
for(var i = 0;i<items.length; i ++){
items[i].checked =false;
}
checkAll.checked = false;
}
//给反选框添加单击事件函数
document.getElementById('checkReBtn').onclick = function(){
checkAll.checked = true;
for(var i = 0;i<items.length;i ++){
if(items[i].checked){
items[i].checked = false;
}else{
items[i].checked = true;
}
if(items[i].checked == false){
checkAll.checked = false;
}
}
}
//给提交按钮添加单击事件函数
document.getElementById('send').onclick = function(){
for(var i = 0;i<items.length;i ++){
if(items[i].checked){
alert(items[i].value)
}
}
}
//给全选/全不选框添加单击事件函数
document.getElementById('checkAll').onclick = function(){
for(var i = 0;i<items.length;i ++){
items[i].checked = this.checked;
}
}
//给items设置单击相应函数
for(var i = 0;i<items.length;i ++){
items[i].onclick = function(){
checkAll.checked = true;
for(var j = 0;j<items.length; j++){
if(items[j].checked == false){
checkAll.checked = false;
break;
}
}
}
}
}
</script>
<style>
div{
width: 350px;
margin: 50 auto;
background-color:lightblue;
text-align: center;
}
</style>
</head>
<body>
<div>
<span>你拥有以下哪些角色?</span>
<input type="checkbox" id="checkAll" value="全选/全不选">全选/全不选<br>
<input type="checkbox" name="item" value="枫原万叶">枫原万叶
<input type="checkbox" name="item" value="可丽">可丽
<input type="checkbox" name="item" value="刻晴">刻晴
<input type="checkbox" name="item" value="魈">魈
<input type="checkbox" name="item" value="钟离">钟离<br>
<input type="button" id="checkAllBtn" value="全选">
<input type="button" id="checkAllNoBtn" value="全不选">
<input type="button" id="checkReBtn" value="反选"><br>
<input type="submit" id="send" value="提交">
</div>
</body>
</html>