纯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 相关文章推荐
JavaScript RegExp方法获取地址栏参数(面向对象)
Mar 10 Javascript
jQuery实现用方向键控制层的上下左右移动
Jan 13 Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 Javascript
jquery实现未经美化的简洁TAB菜单效果
Aug 28 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
js控住DOM实现发布微博效果
Aug 30 Javascript
jquery层级选择器的实现(匹配后代元素div)
Sep 05 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
Sep 05 Javascript
JavaScript中创建原子的方法总结
Aug 26 Javascript
巧妙运用v-model实现父子组件传值的方法示例
Apr 07 Javascript
JavaScript实现星级评价效果
May 17 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 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数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
xml在joomla表单中的应用详解分享
2012/07/19 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
python缩进区别分析
2014/02/15 Python
python处理中文编码和判断编码示例
2014/02/26 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
Python单元测试简单示例
2018/07/03 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
软件测试有哪些?什么是配置项?
2012/02/12 面试题
英语老师推荐信
2014/02/26 职场文书
房屋转让协议书
2014/10/18 职场文书
无工作证明怎么写
2015/06/15 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
详解Redis集群搭建的三种方式
2021/05/31 Redis
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL