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 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
用js实现随机返回数组的一个元素
Aug 13 Javascript
使用js简单实现了tree树菜单
Nov 20 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
JS 调用微信扫一扫功能
Dec 22 Javascript
JS实现留言板功能
Jun 17 Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 Javascript
Layer弹出层动态获取数据的方法
Aug 20 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 Javascript
利用原生JS实现data方法示例代码
May 28 Javascript
微信小程序sessionid不一致问题解决
Aug 30 Javascript
JS实现简单贪吃蛇小游戏
Oct 28 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 CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
smarty的section嵌套循环用法示例
2016/05/28 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
Python getopt模块处理命令行选项实例
2014/05/13 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
Python flask框架post接口调用示例
2019/07/03 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
python属于解释型语言么
2020/06/15 Python
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
启动一个线程是用run()还是start()
2016/12/25 面试题
花卉与景观设计系大学生求职信
2013/10/01 职场文书
英文版银行求职信
2013/10/09 职场文书
学校联谊活动方案
2014/02/15 职场文书
小学生学习感言
2014/03/10 职场文书
装修协议书范本
2014/04/21 职场文书
机关党员公开承诺书
2014/08/30 职场文书
《分数乘法》教学反思
2016/02/24 职场文书