jquery实现checkbox 全选/全不选的通用写法


Posted in Javascript onFebruary 22, 2014
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script type="text/javascript">
        //name 是html表单专用于区别各组 chechbox 的属性, 不要用id(必须唯一)或者其它属性
        function getValues() {
            var aV = getCheckboxValues("a");
            var bV = getCheckboxValues("b");
            var cV = getCheckboxValues("c");
            var result = "a组选中值: " + (aV=="" ? "未选中任何值" : aV) + "\n" +
                "b组选中值: " + (bV == "" ? "未选中任何值" : bV) + "\n" +
                "c组选中值: " + (cV == "" ? "未选中任何值" : cV);
            alert(result);
        }
        function getCheckboxValues(name) {
            return $(":checkbox[name="+name+"]:checked").map(function(){  
                return $(this).val(); 
            }).get().join(",");
        }
        function chkAll(obj) {
            var name = $(obj).attr("name");
            //也许你觉得我写得太复杂, 但jquery 版本众多, 可以学点东西总是好的
            //1. jquery 1.6 以上
            //$(":checkbox[name=" + name.substring(0, 1) + "]").prop("checked", $(obj).prop("checked"));
            //2. jquery 1.6 以下
            //$(":checkbox[name=" + name.substring(0, 1) + "]").attr("checked", $(obj).attr("checked"));
            //3. 通用写法
            $(":checkbox[name=" + name.substring(0, 1) + "]").each(function () {
                this.checked = obj.checked;
            });
        }
    </script>
</head>
<body>
    <div >
        <span>第1组(a):<input type="checkbox" name="aAll" onclick="chkAll(this)" />全选/全不选</span>
        <input type="checkbox" name="a" value="a1" checked="checked" />a1
        <input type="checkbox" name="a" value="a2" checked="checked"  />a2
        <input type="checkbox" name="a" value="a3" />a3
        <input type="checkbox" name="a" value="a4" />a4<br />
        <span>第2组(b):<input type="checkbox" name="bAll" onclick="chkAll(this)" />全选/全不选</span>
        <input type="checkbox" name="b" value="b1" />b1
        <input type="checkbox" name="b" value="b2" checked="checked" />b2
        <input type="checkbox" name="b" value="b3" checked="checked"  />b3
        <input type="checkbox" name="b" value="b4" />b4<br />
        <span>第3组(c):<input type="checkbox" name="cAll" onclick="chkAll(this)" />全选/全不选</span>
        <input type="checkbox" name="c" value="c1" />c1
        <input type="checkbox" name="c" value="c2" />c2
        <input type="checkbox" name="c" value="c3" checked="checked" />c3
        <input type="checkbox" name="c" value="c4" checked="checked"  />c4<br />
        <br />
        <input type="button" value="查找每组的选中的值" onclick="getValues()" />
    </div>
</body>
</html>
Javascript 相关文章推荐
jquery全选checkBox功能实现代码(取消全选功能)
Dec 10 Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
Aug 17 Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 Javascript
跟我学习javascript的for循环和for...in循环
Nov 18 Javascript
详解JavaScript的流程控制语句
Nov 30 Javascript
JavaScript——DOM操作——Window.document对象详解
Jul 14 Javascript
详解Vue路由开启keep-alive时的注意点
Jun 20 Javascript
vue router demo详解
Oct 13 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
Sep 14 Javascript
一次微信小程序内地图的使用实战记录
Sep 09 Javascript
防止jQuery ajax Load使用缓存的方法小结
Feb 22 #Javascript
jquery中load方法的用法及注意事项说明
Feb 22 #Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 #Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 #Javascript
文本框水印提示效果的简单实现代码
Feb 22 #Javascript
jquery实现省市select下拉框的替换(示例代码)
Feb 22 #Javascript
jQuery实现下拉框左右选择的简单实例
Feb 22 #Javascript
You might like
用PHP 4.2书写安全的脚本
2006/10/09 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
javascript Select标记中options操作方法集合
2008/10/22 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
载入jQuery库的最佳方法详细说明及实现代码
2012/12/28 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python2与Python3的区别实例分析
2019/04/11 Python
Python秒算24点实现及原理详解
2019/07/29 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Python如何输出百分比
2020/07/31 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
白酒市场开发计划书
2014/01/09 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
具结保证书范本
2015/05/11 职场文书
初中生物教学随笔
2015/08/15 职场文书
小学运动会入场口号
2015/12/24 职场文书