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实现多选框及反选的更多相关文章

  1. JQ实现复选框的全选反选不选

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

  2. jQuery学习(五)——使用JQ完成复选框的全选和全不选

    1.在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框 ...

  3. JQ判断复选框是否选中

    方法一: if($('#checkbox').is(':checked')) {} 方法二:if ($('#checkbox').attr('checked')) {} 方法三:if ($(" ...

  4. jq判断 复选框是否被选中 亲测可用

    var shortName = $('#shortName').is(':checked')?1:0;

  5. jq 禁用复选框 和输入框

    $('input').attr("readonly", ""); $('input').attr("disabled", "fal ...

  6. 工作需求----表单多选框checkbox交互

    关于多选框,反选及选取几个: 1.html内容 <!--begin checkbox--> <div class="c_n_manage_tablexx"> ...

  7. JQuery实现列表中复选框全选反选功能封装

    我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如: 我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的 ...

  8. 转发!HTML 复选框 checkbox 的 JavaScript 的全选和全反选

    checkbox 或者按钮实现 form 内的 checkbox 全选或者反选,代码很简单,全部代码如下: <html> <head> <meta http-equiv= ...

  9. 关于通过jq /js 实现验证单选框 复选框是否都有被选中

    今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问 ...

随机推荐

  1. Inkscape 旋转并复制

    画一个图形,点击图标. 然后图标中心有个十字叉, 然后把这个十字叉拖到你想要旋转的地方. 然后shift+ctrl+m打开变换菜单. 选择旋转选项卡,然后设置角度,点击应用.就可以旋转了,如果配合ct ...

  2. Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

    多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程. 一.ThreadPoolTaskExecutor ...

  3. 记一次共享内存/dev/shm 小于memory_target 引发的客户DB 宕机问题

    1> 记一次共享内存/dev/shm 小于memory_target 引发的客户DB 宕机问题(处理心得)

  4. 深入理解C# 委托(delegate)-戈多编程

    今天来谈谈委托,深入理解委托,本文来自各大神经验总结. 1.委托是什么? 委托类型的声明与方法签名相似. 它有一个返回值和任意数目任意类型的参数,是一种可用于封装命名方法或匿名方法的引用类型. 委托类 ...

  5. 2019头条java面试总结 (包含面试题解析)

    2019滴滴java面试总结  (包含面试题) 本人8年开发经验.今年年初找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是Java后端开发. 面试了很多家公司,感觉大部分 ...

  6. SQLMAP SSI注入错误解决

    记一次SQL注入 目标地址:https://www.xxxx.com/ 之前补天提交过这个注入  后来貌似”修复了”(实际就是装了安全狗和过滤了一些关键字) 不过今天试了下 还是可以注入 可以看到已经 ...

  7. CF543A Writing Code

    题目描述 Programmers working on a large project have just received a task to write exactly m m m lines o ...

  8. 【RabbitMQ 实战指南】一 过期时间TTL

    RabbitMQ 可以对消息和队列设置过期时间(TTL) 1.设置消息的TTL 目前有两种方式可以设置消息的TTL 第一种方式是通过队列属性设置,队列中所有消息都有相同的过期时间 第二种方式是对消息本 ...

  9. Python3+RobotFramework+pycharm环境搭建

    我的环境为 python3.6.5+pycharm 2019.1.3+robotframework3.1.2 1.安装python3.x 略 之后在cmd下执行:pip  install  robot ...

  10. MFC中如何分割CString类型的数据

    [才疏学浅,难免有纰漏,若有不正确的地方,欢迎指教] MFC中有一个库函数 Tokenize(); 函数原型:CStringT Tokenize( PCXSTR pszTokens , int& ...