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 设置文本框中焦点的位置
Nov 20 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
May 11 Javascript
JavaScript制作简单分页插件
Sep 11 Javascript
jQuery编写设置和获取颜色的插件
Jan 09 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
Aug 23 Javascript
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
vue element table 表格请求后台排序的方法
Sep 28 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
Feb 04 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
谈谈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
重置版游戏视频
2020/04/09 魔兽争霸
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
深入探寻javascript定时器
2015/01/02 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
python 多进程通信模块的简单实现
2014/02/20 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
python实现控制台输出彩色字体
2020/04/05 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
解决virtualenv -p python3 venv报错的问题
2021/02/05 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
技术负责人任命书
2014/06/05 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL