纯javascript实现选择框的全选与反选功能


Posted in Javascript onApril 08, 2019

HTML部分

<div id="wrap_input_box" >
      <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>
   <label for="olabel">选择全部 一键上路<input type="checkbox" id= 'all'></label>

js部分

var oinput = document.getElementById('all');
    // var oinput_s = document.getElementsByTagName('input');
     var oinput_s = document.querySelectorAll('#wrap_input_box>input');
    // console.log(oinput_s[6]);
    // 先设置点击全选按钮后 实现所有的选择标签显示选择   取消点击后 取消所有标签选择
    oinput.onclick = function(){
      if (this.checked){
        for (var i =0;i<oinput_s.length;i++){
          oinput_s[i].checked=true;
        }
      }else{
        for (var i =0;i<oinput_s.length;i++){
          oinput_s[i].checked=false;
        }
      }
    }
    // 下面设置的是  每个小标签如果在全选状态下取消选择其中的某一个 对应的按钮的状态会变为没有全选
        // 给每个小选择标签设置绑定点击事件
    for(var j = 0;j<oinput_s.length;j++){
       oinput_s[j].onclick = function (){
          //定义一个标志位 这个标志位 用来判断后面的选择按钮的状态
          var flag = true;
          //遍历每个小选择标签  判断 如果每一个小标签是非选择状态  将标志位改为 false 状态 即对应为未选择
          for (k=0;k<oinput_s.length;k++){
            if(!oinput_s[k].checked){
              flag=false;
              break;
            }
            
          }

          if(flag){
            oinput.checked=true;
          }else{
            oinput.checked=false;
          }
          
       }
    }

总结

以上所述是小编给大家介绍的纯javascript实现选择框的全选与反选功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
js 蒙版进度条(结合图片)
Mar 10 Javascript
基本jquery的控制tabs打开的数量的代码
Oct 17 Javascript
Javscript删除数组中指定元素并返回新数组
Mar 06 Javascript
Javascript异步编程模型Promise模式详细介绍
May 08 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
Jun 12 Javascript
详解JS: reduce方法实现 webpack多文件入口
Feb 14 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
Mar 02 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
layer.js之回调销毁对话框的例子
Sep 11 Javascript
Vue实现手机扫描二维码预览页面效果
May 28 Javascript
vue+koa2搭建mock数据环境的详细教程
May 18 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
Jul 12 Javascript
详解小程序如何避免多次点击,重复触发事件
Apr 08 #Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
Apr 08 #Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
Apr 08 #Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
Apr 08 #Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 #Javascript
微信小程序实现bindtap等事件传参
Apr 08 #Javascript
详解vue中axios请求的封装
Apr 08 #Javascript
You might like
PHP加密解密函数详解
2015/10/28 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
python中的对象拷贝示例 python引用传递
2014/01/23 Python
详解Python中的__init__和__new__
2014/03/12 Python
python将txt文件读取为字典的示例
2018/12/22 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
2020/08/07 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
护理职业应聘自荐书
2013/09/29 职场文书
管理专员自荐信
2014/01/26 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
五四青年节活动总结
2015/02/10 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
初三语文教学反思
2016/03/03 职场文书