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 相关文章推荐
Open and Print a Word Document
Jun 15 Javascript
javascript 特殊字符串
Feb 25 Javascript
jQuery拖动图片删除示例
May 10 Javascript
Node.js中的缓冲与流模块详细介绍
Feb 11 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
js控制按钮,防止频繁点击响应的实例
Feb 15 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
vue-cli中的babel配置文件.babelrc实例详解
Feb 22 Javascript
vue 弹框产生的滚动穿透问题的解决
Sep 21 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
Oct 25 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 jQuery
javascript实现前端input密码输入强度验证
Jun 24 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字符串分割函数explode的实例代码
2013/02/07 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
JS trim去空格的最佳实践
2011/10/30 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
Vue实现购物车功能
2017/04/27 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
python正则中最短匹配实现代码
2018/01/16 Python
Python中的枚举类型示例介绍
2019/01/09 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
python代码实现图书管理系统
2020/11/30 Python
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
职业技术学校毕业生推荐信
2013/12/03 职场文书
高中自我评价分享
2013/12/05 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
起诉意见书范文
2015/05/19 职场文书
论文评审意见
2015/06/05 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书