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 相关文章推荐
js注意img图片的onerror事件的分析
Jan 01 Javascript
JS的replace方法介绍
Oct 20 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
Apr 26 Javascript
jquery创建表格(自动增加表格)代码分享
Dec 25 Javascript
js中生成map对象的方法
Jan 09 Javascript
jQuery实现的网页竖向菜单效果代码
Aug 26 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
Mar 15 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
详解iframe跨域的几种常用方法(小结)
Apr 29 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 Javascript
vue 授权获取微信openId操作
Nov 13 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选项与信息函数的使用详解
2013/05/10 PHP
PHP查询网站的PR值
2013/10/30 PHP
javascript this用法小结
2008/12/19 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
vue实现评价星星功能
2020/06/30 Javascript
wxPython框架类和面板类的使用实例
2014/09/28 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
python类中super() 的使用解析
2019/12/19 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
软件工程专业推荐信
2013/10/28 职场文书
关于期中考试的反思
2014/02/02 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
社区服务理念口号
2015/12/25 职场文书