本文章总结jQuery实现checkbox三种情况的全选功能

第一种:等值全选,也称name的等值全选,通过checkbox的名称name实现。

第二种:模糊全选,也称id模糊全选,通过checkbox的id或value值实现。

第三种:值范围全选,也称value值范围全选,通过checkbox的value值实现,或者截取id数字后缀范围判断实现。

等值全选

在工作中经常会用到checkbox的全选功能,平时大家用得最多的全选和反选是第一种,一般都是基于全部名称相同的checkbox进行实现,这种全选比较简单。实现代码如下:

$("input#allSer").click(function(){

    if(this.checked){   

    $("input[type='checkbox'][name='newselectedServers']").attr("checked",true);  

    }else{   

    $("input[type='checkbox'][name='newselectedServers']").attr("checked",false);

   }

});

以上代码实现的功能:当单击id="allSer”的按钮时,所有名name=“newselectedServers"的checkbox就被全选上,再次单击时则取消全选,功能比较简单,就不再详述

模糊全选

模糊全选可已实现特定的需求,如前缀或后缀包含特定字符,首先应了解jQuery模糊匹配的规则:

[属性名称] 匹配包含给定属性的元素

[att=value] 匹配包含给定属性的元素

[att*=value] 模糊匹配

[att!=value] 不能是这个值

[att$=value] 结尾是这个值

[att^=value] 开头是这个值

[att1][att2][att3]... 匹配多个属性条件中的一个

实现例子如下:

$("input[type='checkbox'][name='newselectedServers'][id^='new']").attr("checked",true);//全选所有id前缀为new的checkbox

$("input[type='checkbox'][name='newselectedServers'][id$='servers']").attr("checked",true);//全选所有id后缀为servers的checkbox

$("input[type='checkbox'][name='newselectedServers'][value^='20']").attr("checked",true);//全选所有value前缀为20的checkbox

反选类同代码就不贴出来。

还有一种多值模糊全选,实现代码如下:

$("input[type='checkbox'][name='newselectedServers'][value^=20],[value^=21],[value^=50],[value^=51],[value^=70],[value^=71]").attr("checked",true);

以上代码实现所有以20,21,50,51,70,71开头的checkbox的全选。

值范围全选

让我头痛的是第三种值访问全选,前两种都实现不了我想要的功能。

功能要求:实现服务器列表部分全选,服务器列表的value含有的值是数字,特定功能的服务器的值在某一指定的范围,勾选特定功能的全选时就要把指定范围的服务器列表全部选上。

以后需求看起来简单,实现起来也简单,难就难找资料的过程和在想的过程,在网上找了很多关系jQuery实现checkbox全选资料和微博,都没有一篇符合我的要求,最后只能通过自己各种想法,各种调试,最终还是实现的自己想要的功能。想法的关键点在于平时用的全选大部分都是基于checkbox的name和id,很少人使用value实现全选,想到这就成功了一半,再通过遍历比较值的大小就可以实现值范围的全选,大家都迫不及待想知道实现的代码了吧。

//实现九游服务器的全反选,九游服务器的value范围在2000-5000之间
$("input#sjspecialSer").click(function(){
if(this.checked){
//遍历value,转换成数字对比
$("input[type='checkbox'][name='newselectedServers']").each(function(index,element){
var serverId = Number(element.value);
if(serverId >= 2000&& serverId < 5000){
$(element).attr("checked",true);
}
});
}else{
$("input[type='checkbox'][name='newselectedServers']").each(function(index,element){
var serverId = Number(element.value);
if(serverId >= 2000&& serverId < 5000){
$(element).attr("checked",false);
}
});
}
}); //实现乐玩服务器的全反选,乐玩服务器的value在5000-1000之间
$("input#lwspecialSer").click(function(){if(this.checked){
//遍历value,转换成数字对比
$("input[type='checkbox'][name='newselectedServers']").each(function(index,element){
var serverId = Number(element.value);
if(serverId >= 5000&& serverId < 10000){
$(element).attr("checked",true);
}
});
}else{
$("input[type='checkbox'][name='newselectedServers']").each(function(index,element){
var serverId = Number(element.value);
if(serverId >= 5000&& serverId < 10000){
$(element).attr("checked",false);
}
});
}
});

jQuery模糊匹配checkbox全选 value实现checkbox部分或全部全选的更多相关文章

  1. Jquery 模糊匹配ID

    [属性名称] 匹配包含给定属性的元素[att=value] 匹配包含给定属性的元素 (大小写区分)[att*=value] 模糊匹配[att!=value] 不能是这个值[att$=value] 结尾 ...

  2. JQuery 模糊匹配

    [属性名称]         匹配包含给定属性的元素 [att=value]       匹配包含给定属性的元素      [att*=value]     模糊匹配      [att!=value ...

  3. Jquery全选与反选checkbox(代码示例)

    今天在公司要实现操作权限的功能,需要根据左边的树,选择一项,判断右边的操作权限,例如,增加,修改,删除,查看等按钮的显示与隐藏: 这个功能实现思路如下: 1.操作权限:增加.修改等按钮的ID和Text ...

  4. JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. gridview checkbox从服务器端和客户端两个方面实现全选和反选

    GridView中的checkbox的全选和反选在很多的地方都是要求实现的,所以下面就从服务器端和客户端两个方面实现了checkbox的选择,感兴趣的朋友可以了解下,希望本文对你有所帮助 GridVi ...

  6. JS 控制checkbox 获取 全选 全不选 一行不选择全选则不被选择 所有选择全选被选择

    //点击全选button的事件操作 function selectAll(){ var allcheckBoxs=document.getElementsByName("iTo") ...

  7. jquery选择器之模糊匹配

    模糊匹配主要分为前导模糊匹配,后导模糊匹配和全文模糊匹配. 前导模糊匹配[^=] 例子:选择name前缀为aa的所有div的jQuery对象. $("div[name^='aa']" ...

  8. 记一个同时支持模糊匹配和静态推导的Atom语法补全插件的开发过程: 序

    简介 过去的一周,都睡的很晚,终于做出了Atom上的APICloud语法提示与补全插件:apicloud_autocomplete.个中滋味,感觉还是有必要记录下来的.代码基于 GPL-3.0 开源, ...

  9. jQuery选择器模糊匹配

    <html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8&quo ...

  10. js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false

    用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...

随机推荐

  1. svn的常规使用

    svn的常规使用 svn的常规使用 1 客户端 2 svn server 3 qt使用svn 4 svn项目迁移 Ubuntu上使用svn 1 安装 2 使用 svn的常规使用 1 客户端 下载地址: ...

  2. JUC并发编程学习笔记(十四)异步回调

    异步回调 Future设计的初衷:对将来的某个事件的结果进行建模 在Future类的子类中可以找到CompletableFuture,在介绍中可以看到这是为非异步的请求使用一些异步的方法来处理 点进具 ...

  3. Typora + PicGo 快乐书写 Markdown 文档

    声明 以下提及的图床服务商跟本人无任何商业来往,你可以根据自己的需要选择其他更适合的服务商. 个人观点 这是一个服务付费的时代,相比于自己折腾.在价格适当,服务到位的情况下,我更倾向于选择商业服务.毕 ...

  4. Doxygen 的学习

    https://dongzhixiao.blog.csdn.net/article/details/52190696 来自转载

  5. DOT 学习笔记

    开始大恶补图论了. 说句闲话,\(\text{ODT}\) 和 \(\text{DOT}\). \(\text{DOT}\),全称「树上启发式合并(\(\text{dsu on tree}\))」,乍 ...

  6. easyxor

    怎么都写不出脚本,看了题解还是蒙蒙的,不过以后遇到这种题也可以根据提示了解他到底怎么出题的,题目明面说了xor 那就主要关注xor以后的结果和xor的对象.方法就好了,其他的就不要去管了 然后对于汇编 ...

  7. Spring Cloud Seata 系列:Seata-Server (1.7.1)安装与配置(集成 Nacos)

    目录 一.简介 术语 事务模式 XA 模式 AT 模式 TCC 模式 Sage 模式 说明 二.Seata Server 存储模式 1.file 模式 ①修改application.xml ②启动Se ...

  8. ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级

    ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级 1.ChatGLM3简介 ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型.Chat ...

  9. Windows10下的hexo搭建

    用hexo搭建个人博客 查看效果:慢蜗牛博客 目录 用hexo搭建个人博客 准备环境 Github Node.js和Git 连接Github 安装hexo 安装插件 部署 Hexo 到 GitHub ...

  10. Tomcat国内安装及乱码解决详细步骤(无f墙)

    1.下载安装包 链接:https://pan.baidu.com/s/1x_hWMnUrui4aDYo9UE-GdA?pwd=p8kn 提取码:p8kn --来自百度网盘超级会员V4的分享 2.一键下 ...