您的位置:首页 > Web前端 > JavaScript

Js 实现一组checkBox全选、不选、反选功能

2017-11-13 22:16 896 查看
网页上的快捷按钮,可以实现一组checkbox的全选、不选、反选效果。那么这个效果是怎么实现的呢。下面就上代码看看吧!

1.首先创建一个简易的包含按妞和复选框的HTML页面:

<body>
<input id="btn1" type="button"  value="全选" />
<input id="btn2" type="button"  value="不选" />
<input id="btn3" type="button"  value="反选" /><br />
<div id="div">
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
<input type="checkbox" /><br />
</div>




2.开始写按钮的点击事件:

为了保证在执行函数时已经完成了页面元素的加载,所以把事件函数写在window.onload()的匿名函数中:

window.onload=function (){

}


①.先通过id选择和TagName选择得到HTML元素

var oBtn1 = document.getElementById('btn1');
var oBtn2 = document.getElementById('btn2');
var oBtn3 = document.getElementById('btn3');
var oDiv = document.getElementById('div');
var box = oDiv.getElementsByTagName('input');


**注意:由于在用getElementByTagName获取所有的checkbox时,选取的是input标签,而button元素也是input。所以,用一个div包裹住checkbox再从div中选择input标签。

②.全选函数:

全选也即将所有的checkbox的checked属性置为true

//全选函数
oBtn1.onclick=function (){
for(var i = 0;i<box.length;i++){
box[i].checked = true;
}
};


③.不选函数:

不选即将所有的checkbox的checked属性置为false

//不选函数
oBtn2.onclick = function (){
for(var i=0;i<box.length;i++){
box[i].checked = false;
}
};


④.反选函数:

用if判断将checkbox的checked属性置反。

//反选函数
oBtn3.onclick = function (){
for(var i=0;i<box.length;i++){
if(box[i].checked==true){
box[i].checked = false;
}
else{
box[i].checked = true;
}
}
};


完整代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>全选 不选 反选</title>
<script type="text/javascript">
window.onload=function (){
var oBtn1 = document.getElementById('btn1'); var oBtn2 = document.getElementById('btn2'); var oBtn3 = document.getElementById('btn3'); var oDiv = document.getElementById('div'); var box = oDiv.getElementsByTagName('input');

//全选函数 oBtn1.onclick=function (){ for(var i = 0;i<box.length;i++){ box[i].checked = true; } };
//不选函数 oBtn2.onclick = function (){ for(var i=0;i<box.length;i++){ box[i].checked = false; } };

//反选函数 oBtn3.onclick = function (){ for(var i=0;i<box.length;i++){ if(box[i].checked==true){ box[i].checked = false; } else{ box[i].checked = true; } } };
};
</script>
</head>
<body> <input id="btn1" type="button" value="全选" /> <input id="btn2" type="button" value="不选" /> <input id="btn3" type="button" value="反选" /><br /> <div id="div"> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> <input type="checkbox" /><br /> </div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: