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循环得出单选框被选中的,问 ...
随机推荐
- 大神都在用的yum源
本文原创首发于公众号:编程三分钟 yum 命令的使用 yum命令天天都在用,都快用烂了,但是很多人不知道为什么只要联网,yum命令就能像老奶奶手中的魔法棒一样,随心所欲的下载到想到的包. 比如你想装个 ...
- struts 2.3.28+spring 4.2.5.RELEASE+hibernate 5.1.0.Final整合maven构建项目基本配置
第一次写博客,主要也是记录给自己看的,可能很多比较熟的地方就没注释 用maven构建,ssh框架都是选用的最新的release版(感觉还是不要用beta),环境jdk1.8 tomcat8.0 mys ...
- A-08 拉格朗日对偶性
目录 拉格朗日对偶性 一.原始问题 1.1 约束最优化问题 1.2 广义拉格朗日函数 1.3 约束条件的考虑 二.对偶问题 三.原始问题和对偶问题的关系 3.1 定理1 3.2 推论1 3.3 定理2 ...
- [转] Java 无界阻塞队列 DelayQueue 入门实战
原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列.里面的元素全部都是"可延期"的元素,列头的元素是最 ...
- XSS Payload深入分析整理
几种加载XSS Payload的不常见标签 众所周知,一种调用JavaScript的方法就是在元素类型上使用事件处理器(Event Handler),通常的一种方法类似: <img src=x ...
- 渗透测试-基于白名单执行payload--Csc
复现亮神课程 基于白名单执行payload--csc 0x01 Csc.exe C#的在Windows平台下的编译器名称是Csc.exe,如果你的.NET FrameWork SDK安装在C盘,那么你 ...
- nishang的介绍与使用
0x01前言 Nishang是一个PowerShell攻击框架,它是PowerShell攻击脚本和有效载荷的一个集合.Nishang被广泛应用于渗透测试的各个阶段,本文主要介绍如何使用Nishang的 ...
- 域渗透基础之NTLM认证协议
域渗透基础的两个认证协议ntlm和Kerberos协议是必须总结的~ 这篇简单总结下ntlm协议 晚上写下kerberos 0x01 NTLM简介 NTLM使用在Windows NT和Windows ...
- Vmware Ubuntu 开机蓝屏
引用:http://tieba.baidu.com/p/4898482611 1. 这是vm的一个bug!!!打开你的虚拟系统目录,编辑虚拟机文件夹下面的.vmx 用记事本打开,加入代码. cpuid ...
- HTML 元素居中的方法
网址:http://www.cnblogs.com/asqq/archive/2012/04/09/2438745.html 1. 元素的定位的方法选择 :absolute . 2. 给定元素的宽和高 ...