纯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 相关文章推荐
iis6+javascript Add an Extension File
Jun 13 Javascript
Add Formatted Text to a Word Document
Jun 15 Javascript
jQuery之按钮组件的深入解析
Jun 19 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
Nov 19 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
常见JS验证脚本汇总
Dec 01 Javascript
谈一谈jQuery核心架构设计
Mar 28 Javascript
浅谈Node Inspector 代理实现
Oct 19 Javascript
JavaScript时间戳与时间日期间相互转换
Dec 11 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
js实现转动骰子模型
Oct 24 Javascript
区分vue-router的hash和history模式
Oct 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 新手入门教程
2009/08/03 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
PHP开发注意事项总结
2015/02/04 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
python实现requests发送/上传多个文件的示例
2018/06/04 Python
python利用微信公众号实现报警功能
2018/06/10 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
PyQt5 多窗口连接实例
2019/06/19 Python
Python转换时间的图文方法
2019/07/01 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
Python基于template实现字符串替换
2020/11/27 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
试述DBMS的主要功能
2016/11/13 面试题
个人务虚会发言材料
2014/10/20 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
成本会计岗位职责
2015/02/03 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
证婚人致辞精选
2015/07/28 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python