jquery 实现复选框的全选操作实例代码


Posted in Javascript onJanuary 24, 2017

jquery 实现复选框的全选操作实例代码

最近做了个需求,需要实现列表复选框的全选/取消全选操作,由于之前对这块不是很了解,所以从网上查了一些资料,虽然有各种实现方法,但没找到直接可以套用的。自己琢磨了下,把功能实现,整理如下。

实现细节如有可改进的地方,不吝赐教。

首先是html部分的代码,这里有一个表格,表格里面有一些选项:

<div id="list"> 
  <table> 
    <tr><td>选项1<input type="checkbox" name="group" value="1"/></tr> 
    <tr><td>选项2<input type="checkbox" name="group" value="2"/></tr> 
    <tr><td>选项3<input type="checkbox" name="group" value="3"/></tr> 
  </table> 
</div>
全选<input type="checkbox" id="all"/> 

接下来是jquery:

<script> 
$(document).ready(function () { 
  //全选或全不选 
  $("#all").click(function () { 
    if (this.checked) { 
      $("#list :checkbox").attr("checked", true); 
    } else { 
      $("#list :checkbox").attr("checked", false); 
    } 
  }); 
  //设置全选复选框 
  $("#list :checkbox").click(function () { 
    allchk(); 
  }); 
  function allchk() { 
    var chknum = $("#list :checkbox").size();//选项总个数 
    var chk = 0; 
    $("#list :checkbox").each(function () { 
      if ($(this).attr("checked")) { 
        chk++; 
      } 
    }); 
    if (chknum == chk) {//全选 
      $("#all").attr("checked", true); 
    } else {//不全选 
      $("#all").attr("checked", false); 
    } 
  } 
  //显示时执行一次 
  allchk(); 
}); 
</script>

当全选框被点击时,判断选中状态,如果是选中,则为所有选项的复选框设置选中属性;如果是取消选中,则为所有选项的复选框取消选中属性。

同时,为每个选项复选框添加判断,当所有的选项复选框都选中时,全选框自动选中;否则,全选框取消选中。这里通过计数来比较(选项的数量和选中的选项数量),通过each方法来进行遍历。

最后,在显示时执行一次,这是确保如果初始状态就是所有选项都选中的状态,要保证全选框也是选中的状态。

参考:jquery中checkbox使用方法简单实例演示

Javascript 相关文章推荐
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
Mar 21 Javascript
给Function做的OOP扩展
May 07 Javascript
jquery多浏览器捕捉回车事件代码
Jun 22 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
May 26 Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 Javascript
jquery+json实现数据二级联动的方法
Nov 28 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
May 03 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
vue项目使用微信公众号支付总结及遇到的坑
Oct 23 Javascript
仿ElementUI实现一个Form表单的实现代码
Apr 23 Javascript
浅谈JS中几种轻松处理'this'指向方式
Sep 16 Javascript
vue开发简单上传图片功能
Jun 30 Javascript
谈谈JavaScript数组常用方法总结
Jan 24 #Javascript
js实现日历的简单算法
Jan 24 #Javascript
JSON键值对序列化和反序列化解析
Jan 24 #Javascript
js自制图片放大镜功能
Jan 24 #Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 #Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 #Javascript
JavaScript解析JSON格式数据的方法示例
Jan 24 #Javascript
You might like
php使用百度天气接口示例
2014/04/22 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
Python中使用遍历在列表中添加字典遇到的坑
2019/02/27 Python
基于python监控程序是否关闭
2020/01/14 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
如何理解Python中包的引入
2020/05/29 Python
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
秋季运动会广播稿
2014/02/22 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
2014年个人售房协议书
2014/10/30 职场文书
离婚起诉状范本
2015/05/19 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python