纯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 相关文章推荐
广泛收集的jQuery拖放插件集合
Apr 09 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
Feb 22 Javascript
让复选框只能选择一项的方法
Oct 08 Javascript
框架页面高度自动刷新的Javascript脚本
Nov 01 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 Javascript
JQuery中两个ul标签的li互相移动实现方法
May 18 Javascript
javascript每日必学之条件分支
Feb 17 Javascript
javascript匀速动画和缓冲动画详解
Oct 20 Javascript
JavaScript实现简单的双色球(实例讲解)
Jul 31 Javascript
vue组件生命周期详解
Nov 07 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
Nov 23 Javascript
vue中element组件样式修改无效的解决方法
Feb 03 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计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
PHP 图片处理
2020/09/16 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
js中日期的加减法
2015/05/06 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
Angular实现响应式表单
2017/08/04 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
django框架创建应用操作示例
2019/09/26 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
Exception类的常用方法
2012/06/16 面试题
应届生高等护理求职信
2013/10/12 职场文书
直接有效的自我评价
2014/01/11 职场文书
大学社团活动策划书
2014/01/26 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
气象学专业个人求职信
2014/04/22 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
投标单位介绍信
2015/05/05 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript