本文章总结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. 对 List 列表中的数据按指定字段进行排序

    /** * 对列表中的数据按指定字段进行排序.要求类必须有相关的方法返回字符串.整型.日期等值以进行比较. * * @param list 集合 * @param sortName 需要排序的字段,目 ...

  2. [Python急救站课程]获取星期字符串

    如何获取星期字符串 weekstr = "星期一星期二星期三星期四星期五星期六星期日" weekid = eval(input("请输入星期数字(1~7):") ...

  3. 提升运维效率:轻松掌握JumpServer安装和使用技巧

    前言 JumpServer 是一个开源的跳板机的解决方案,提供了对远程服务器的安全访问.会话录制和审计.用户身份管理等功能,适用于需要管理机器资源&大量服务器资源的情况. 本文将在分享 doc ...

  4. Ubuntu(Linux)上好用的Git图形客户端工具

    Git 为什么要用图形客户端 提示 下述工具下载链接为官方或github地址,可能会由于你懂得的原因,而无法打开. Git 大部分工作在命令行模式下都可以顺利且高效的完成, 但在代码合并,代码差异浏览 ...

  5. Grafana新手教程-实现仪表盘创建和告警推送

    前言 最近在使用Grafana的时候,发现Grafana功能比想象中要强大,除了配合Prometheus使用之外,他自身都可以做很多事情,可视化和监控平台,还可以直接根据用户自定义的告警规则完成告警和 ...

  6. Boruvka 算法

    Boruvka算法解决某些问题超级好用. 这些问题形如,给你n个点,每个点有点权,任意两个点之间有边权,边权为两个点权用过某种计算方式得出. 求最小生成树. 通常用 \(O(log n)\) 的时间可 ...

  7. pnpm 管理依赖包是如何节省磁盘空间的?

    npm 存在的问题 我们经常使用 npm 来管理 node 项目中的包,从 package.json 中读取配置将依赖下载到本地,以保障项目的正常运行. 当项目数量多时,这样的包管理方式会非常的占用电 ...

  8. 海康单筒红外相机SDK调用方法

    目录 配置环境 1.准备文件 2.配置 3.路径 程序 1.错误警告 2.导入头文件: 3.修改SDK 配置环境 1.准备文件 通过VS创建空白项目后,将海康SDK文件夹: CH-HCNetSDKV6 ...

  9. Echarts 柱形图最全详解

    Echarts 是一款基于 JavaScript 的开源可视化图表库,被广泛应用于数据可视化领域.它提供了丰富的图表类型和交互功能,其中柱形图是最常用和重要的一种图表类型之一.下面是对 Echarts ...

  10. 存储器 Memory

    缩写 全称 翻译 用途 RAM Random Access Memory 随机存储器 SRAM Static RAM 静态RAM MCU的片上RAMCPU的L1.L2 cache DRAM Dynam ...