jq实现多选框及反选
1 效果图

2 html
<div class="main">
<table>
<tr>
<th><input type="checkbox" id="checkAll" name="checkAll"/><label>全选</label><label>
<a href="#" id="checkNo">反选</a>
</label></th>
</tr>
<tr>
<td><input type="checkbox" name="item" /><label>选项1</label></td>
</tr>
<tr>
<td><input type="checkbox" name="item" /><label>选项2</label></td>
</tr>
<tr>
<td><input type="checkbox" name="item" /><label>选项3</label></td>
</tr>
<tr>
<td><input type="checkbox" name="item" /><label>选项4</label></td>
</tr>
<tr>
<td><input type="checkbox" name="item" /><label>选项5</label></td>
</tr><tr>
<td><input type="checkbox" name="item" /><label>选项6</label></td>
</tr>
</table>
</div>
3 css
.main{
height:200px;
background-color:#CDCDC1;
font-size:15px;
font-family:"微软雅黑";
}
4 jq
$(document).ready(function(){
//判断子元素是否全选
var length = $("input[name='item']").length;
function isCheckAll(){
var count = 0;
for(let i =0;i<length;i++){
if($("input[name='item']").eq(i).prop('checked')){
count++;
}
}
if(count == length){$("input[name='checkAll']").eq(0).prop('checked',true);}else{
$("input[name='checkAll']").eq(0).prop('checked',false);
}
}
//全选
$("input[name='checkAll']").click(function(){
var _this_ = $(this);
$("input[name='item']").prop('checked',_this_.prop('checked'));
})
//反选
$("#checkNo").click(function(){
$("input[name='item']").each(function(){
$(this).prop('checked',!$(this).prop('checked'));
});
isCheckAll();
})
//为每一个选项绑定一个判断全选le
for(let i=0;i<length;i++){
$("input[name='item']").eq(i).click(function(){
isCheckAll();
})
}
});
5 总结
.prop(); //可以用来获取属性值,也可以用来设置属性值,与.attr()类似
.each();//为选中的对象集合的元素遍历一遍处理函数
.length;//获取选中对象的个数
6 补充 js实现 2019/10/16,思路不变,只是用原生的js实现
window.onload = function(){
var oCheckAll = document.getElementsByName('checkAll');
var oCheckNo = document.getElementById('checkNo');
var oItem = document.getElementsByName('item');
var length = oItem.length;
console.log(length);
console.log(oItem);
function isCheckedAll(){
let count = 0;
for(let i =0;i<length;i++){
if(oItem[i].checked == true){
count++;
}
}
if(count == length){
oCheckAll[0].checked = true ;
}else{
oCheckAll[0].checked = false ;
}
}
oCheckAll[0].onclick = function(){
console.log(1);
for(let i=0;i<length;i++){
oItem[i].checked = true;
}
}
oCheckNo.onclick = function(){
console.log(2);
for(let i=0;i<length;i++){
var flag = oItem[i].checked;
oItem[i].checked = !flag;
}
isCheckedAll()
}
for(let i =0;i<length;i++){
oItem[i].onclick = function(){
isCheckedAll();
}
}
}
jq实现多选框及反选的更多相关文章
- JQ实现复选框的全选反选不选
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jQuery学习(五)——使用JQ完成复选框的全选和全不选
1.在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框 ...
- JQ判断复选框是否选中
方法一: if($('#checkbox').is(':checked')) {} 方法二:if ($('#checkbox').attr('checked')) {} 方法三:if ($(" ...
- jq判断 复选框是否被选中 亲测可用
var shortName = $('#shortName').is(':checked')?1:0;
- jq 禁用复选框 和输入框
$('input').attr("readonly", ""); $('input').attr("disabled", "fal ...
- 工作需求----表单多选框checkbox交互
关于多选框,反选及选取几个: 1.html内容 <!--begin checkbox--> <div class="c_n_manage_tablexx"> ...
- JQuery实现列表中复选框全选反选功能封装
我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如: 我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的 ...
- 转发!HTML 复选框 checkbox 的 JavaScript 的全选和全反选
checkbox 或者按钮实现 form 内的 checkbox 全选或者反选,代码很简单,全部代码如下: <html> <head> <meta http-equiv= ...
- 关于通过jq /js 实现验证单选框 复选框是否都有被选中
今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问 ...
随机推荐
- javascript基础修炼(13)——记一道有趣的JS脑洞练习题
目录 一. 题目 二. 解法风暴 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 华为云社区地址 ...
- 【Java基础】Java中的语法糖
目录 Java中的语法糖 switch对String和枚举类的支持 对泛型的支持 包装类型的自动装箱和拆箱 变长方法参数 枚举 内部类 条件编译 断言 数值字面量 for-each try-with- ...
- 分库分表(5) ---SpringBoot + ShardingSphere 实现分库分表
分库分表(5)--- ShardingSphere实现分库分表 有关分库分表前面写了四篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理论) 3. ...
- 项目二:企业级java电商网站开发(服务端)
声明:项目源于网络,支持正版教程,学习使用,仅记录在此 项目介绍 企业级java电商网站开发(服务端),模块划分:用户管理,商品管理,商品品类管理,订单管理,订单详情管理,购物车管理,收货地址管理,支 ...
- Kafka常用运维操作
创建主题kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --replication-factor 3 --pa ...
- [AI开发]视频结构化类应用的局限性
算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基 ...
- 渗透测试-基于白名单执行payload--Cmstp
0x01 Cmstp简介 Cmstp安装或删除“连接管理器”服务配置文件.如果不含可选参数的情况下使用,则 cmstp 会使用对应于操作系统和用户的权限的默认设置来安装服务配置文件. 微软官方文档: ...
- VSCode 安装 code 命令
VSCode 提供 code 命令直接从命令行中打开文件目录,此时需要先安装 code 命令. 1.首先打开 VSCode 2.使用 command + shift + p (注意window 下使用 ...
- python学习-变量和简单类型(二)
学习笔记中的源码:传送门 1.注释: 单行注释(#):多行注释("""或者''') 2.python标准数据类型:数字(numbers).字符串(string).列表(l ...
- spring cloud alibaba 简介
### Spring Cloud Alibaba [官方github地址](https://github.com/alibaba/spring-cloud-alibaba) Spring Cloud ...