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

 更新时间:2017年01月24日 16:58:54   投稿:lqh  
这篇文章主要介绍了jquery 实现复选框的全选操作实例代码的相关资料,需要的朋友可以参考下

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使用方法简单实例演示

相关文章

  • jQuery DOM操作 基于命令改变页面

    jQuery DOM操作 基于命令改变页面

    每天都在与DOM打交道而且晕头转向,不过,自打咱认识了jQuery: 是操作属性也不烦了,插入新元素也不晕了,连移动元素及包装元素咱也不抽筋了。。
    2010-01-01
  • jquery中使用ajax获取远程页面信息

    jquery中使用ajax获取远程页面信息

    当我们点击表格里面的标题显示相关的详细信息,比如点击新闻标题显示正文,而正文通常是在一个页面里面,通过获取传递的参数id查询数据库,然后显示出来
    2011-11-11
  • jquery dataTable 后台加载数据并分页实例代码

    jquery dataTable 后台加载数据并分页实例代码

    本篇文章主要介绍了jquery dataTable 后台加载数据并分页实例代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-06-06
  • jQuery对table表格进行增删改查

    jQuery对table表格进行增删改查

    这篇文章主要为大家详细介绍了jQuery对table表格进行增删改查操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • JQuery获取文本框中字符长度的代码

    JQuery获取文本框中字符长度的代码

    jquery 可以用text()方法来取得字符串,再用length 判断长度,然后用substring()方法格式化截断
    2011-09-09
  • Validform+layer实现漂亮的表单验证特效

    Validform+layer实现漂亮的表单验证特效

    创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计、开发与测试等等环节。实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的。本文就给大家结合2款优秀的插件来实现这个问题,有需要的小伙伴可以参考下
    2016-01-01
  • jQuery内置的AJAX功能和JSON的使用实例

    jQuery内置的AJAX功能和JSON的使用实例

    通过jQuery内置的AJAX功能,访问后台获得JSON格式的数据,然后通过jQuer把数据直接在页面上显示,需要的朋友可以参考下
    2014-07-07
  • 精通Javascript+jQuery 视频教程 在线观看

    精通Javascript+jQuery 视频教程 在线观看

    前沿视频出的《精通Javascript+jQuery》视频教程,挺不错的,值得看看。
    2009-08-08
  • JQuery 无废话系列教程(一) jquery入门 [推荐]

    JQuery 无废话系列教程(一) jquery入门 [推荐]

    贝壳(就是本文作者了)也属于刚刚会用点JQuery的那一类型, 在学习过程中也遇到挺多问题,特别是在开始入门的时候.一直准备写些有关JQuery的文章,但又恐自己文笔及表达能力有限而"误人子弟",最终还是鼓起勇气. 如在文章中有错误或者不合适的理解望广大朋友直接指出批评.
    2009-06-06
  • jQuery实现图片轮播效果代码(基于jquery.pack.js插件)

    jQuery实现图片轮播效果代码(基于jquery.pack.js插件)

    这篇文章主要介绍了jQuery实现图片轮播效果的方法,该功能基于jquery.pack.js插件实现,涉及jQuery针对页面元素与样式的动态操作技巧,需要的朋友可以参考下
    2016-06-06

最新评论