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 相关文章推荐
function foo的原型与prototype属性解惑
Nov 19 Javascript
关于jquery append() html时的小问题的解决方法
Dec 16 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
jQuery - css() 方法示例详解
Jan 16 Javascript
js图片处理示例代码
May 12 Javascript
jquery的ajax异步请求接收返回json数据实例
Jun 16 Javascript
移动端JQ插件hammer使用详解
Jul 03 Javascript
js实现动态加载脚本的方法实例汇总
Nov 02 Javascript
Vue表单实例代码
Sep 05 Javascript
Vue实现双向绑定的方法
Dec 22 Javascript
简单谈谈js的数据类型
Sep 25 Javascript
小程序实现图片预览裁剪插件
Nov 22 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通用防注入程序 推荐
2011/02/26 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
php中使用GD库做验证码
2016/03/31 PHP
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
javascript代码优化的8点总结
2018/01/29 Javascript
js监听html页面的上下滚动事件方法
2018/09/11 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
vue实现计算器功能
2020/02/22 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
python中zip和unzip数据的方法
2015/05/27 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
一套C#面试题
2013/10/09 面试题
银行职员自我鉴定
2014/04/20 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
angular4实现带搜索的下拉框
2022/03/25 Javascript
Android实现图片九宫格
2022/06/28 Java/Android