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

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

最近做了个需求,需要实现列表复选框的全选/取消全选操作,由于之前对这块不是很了解,所以从网上查了一些资料,虽然有各种实现方法,但没找到直接可以套用的。自己琢磨了下,把功能实现,整理如下。

实现细节如有可改进的地方,不吝赐教。

首先是html部分的代码,这里有一个表格,表格里面有一些选项:

Box" name="group" value="1"/>Box" name="group" value="2"/>Box" name="group" value="3"/> 全选Box" id="all"/>

接下来是jquery:

$(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(); });

当全选框被点击时,判断选中状态,如果是选中,则为所有选项的复选框设置选中属性;如果是取消选中,则为所有选项的复选框取消选中属性

同时,为每个选项复选框添加判断,当所有的选项复选框都选中时,全选框自动选中;否则,全选框取消选中。这里通过计数来比较(选项的数量和选中的选项数量),通过each方法来进行遍历。

最后,在显示时执行一次,这是确保如果初始状态就是所有选项都选中的状态,要保证全选框也是选中的状态。

参考:Box使用方法简单实例演示

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...