纯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获取当前屏幕的高度宽度的实现代码
Jul 12 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
May 19 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
Jun 20 Javascript
基于javascript实现按圆形排列DIV元素(三)
Dec 02 Javascript
vue.js获取数据库数据实例代码
May 26 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
Jun 19 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
Jan 31 Javascript
VUE2.0中Jsonp的使用方法
May 22 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
Jul 26 Javascript
详解如何创建并发布一个 vue 组件
Nov 08 Javascript
Layui 解决表格异步调用后台分页的问题
Oct 26 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
Smarty Foreach 使用说明
2010/03/23 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
vue 实现动态路由的方法
2020/07/06 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
python 判断网络连通的实现方法
2018/04/22 Python
python计算两个数的百分比方法
2018/06/29 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python函数和模块的使用总结
2019/05/20 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
志愿者活动总结
2014/04/28 职场文书
二手房购房协议书范本
2014/10/05 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
辞职申请书范本
2019/05/20 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js