用原生JS实现简单的多选框功能


Posted in Javascript onJune 12, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<input id="cheakAll" type="checkbox">全选
<div>
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
</div>
</body>
</html>
<script>
//找到全选按钮
var oChkAllBtn=document.getElementById('cheakAll');
var oDiv=document.getElementsByTagName('div')[0];
var aInput=oDiv.getElementsByTagName('input');
var n=0; //计数器
//alert(aInput.length);
//点击全选按钮,让其他的全部选中
oChkAllBtn.onclick=function(){
//判断我是什么状态
/*if(this.checked==true){
for(var i=0; i<aInput.length; i++){
aInput[i].checked=true;
}
}else{
for(var i=0; i<aInput.length; i++){
aInput[i].checked=false;
}
}*/
for(var i=0; i<aInput.length; i++){
if(this.checked==true){//判断全选按钮自己的状态
aInput[i].checked=true;
n=aInput.length; //控制计数器
}else{
aInput[i].checked=false;
n=0; //控制计数器
}
};
};
//--------------------------------------------
//每一个按钮绑定事件
for(var j=0; j<aInput.length; j++){
aInput[j].onclick=function(){
//如果我自己是cheaked状态 n++ 否则 n--
if(this.checked==true){
n++;
}else{
n--;
};
//console.log(n);
//如果n==aInput.length
if(n==aInput.length){
oChkAllBtn.checked=true;
}else{
oChkAllBtn.checked=false;
}
};
};
</script>

以上所述是小编给大家介绍的用原生JS实现简单的多选框功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
新手常遇到的一些jquery问题整理
Aug 16 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
Jan 04 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
Dec 17 Javascript
理解JS事件循环
Jan 07 Javascript
Javascript中apply、call、bind的巧妙使用
Aug 18 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
Dec 21 Javascript
vue组件详解之使用slot分发内容
Apr 09 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
微信小程序 slot踩坑的解决
Apr 01 Javascript
vue使用keep-alive保持滚动条位置的实现方法
Apr 09 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
Oct 24 Javascript
Javascript异步流程控制之串行执行详解
Sep 27 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 #Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
Jun 12 #Javascript
AngularJS 异步解决实现方法
Jun 12 #Javascript
jquery+css实现侧边导航栏效果
Jun 12 #jQuery
angularjs实现上拉加载和下拉刷新数据功能
Jun 12 #Javascript
Vue非父子组件通信详解
Jun 12 #Javascript
详解angularjs 关于ui-router分层使用
Jun 12 #Javascript
You might like
MVC模式的PHP实现
2006/10/09 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
js实现二级联动简单实例
2020/01/11 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
python 获取et和excel的版本号
2009/04/09 Python
python赋值操作方法分享
2013/03/23 Python
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
django框架使用方法详解
2019/07/18 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
大专毕业生简历的自我评价
2013/10/20 职场文书
如何客观的进行自我评价
2013/12/17 职场文书
公司请假条格式
2014/04/11 职场文书
体育课课后反思
2014/04/24 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
Python中requests做接口测试的方法
2021/05/30 Python