博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery如何判断checkbox(复选框)是否被选中 全选 反选
阅读量:5771 次
发布时间:2019-06-18

本文共 1188 字,大约阅读时间需要 3 分钟。

好长时间没用jq, 之前用的都是ng。

想着随便参考一下,结果被坑。因为这篇文章是09年的,也和当时jq的版本号有关,但是为什么在百度排名第一,百度果然坑人,以后还是google

给出坑人文章的链接

虽然已经解决,但是我决定重新写一篇!!!

如何判断checkbox是否选中?

文中说用 attr() 在实际判断的时候都是不可用的,判断不出来!!!

应该使用

if ($("#id").is(":checked")) {    // 存在} else {    // 不存在}

看到这里除了checked 还能判断什么呢?

662347-20170628120642539-108486747.png

662347-20170628120647336-1175524207.png

除了判断checkout好像没有看到hover,类似于这种应该如何判断呢?

我们知道 如果$() 选择器找到一个元素必定存在一个长度,因此我们也可以根据长度去判断

if ($('#id:hover').length) {    // 元素存在} else {    // 元素不存在}

感觉有点跑偏了,回归正题。。。

如果修改呢,很多人用的attr,removeAttr, 这些都是错误的,尤其是remove属性后用attr无法加回来

这里应该使用pop,而不是attr

官方建议 具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()

662347-20170628170227758-715078193.png

代码如下

Loads of checkboxes

$("#checkAll").change(function () {    $("input:checkbox").prop('checked', $(this).prop("checked"));});

demo

这时候傻呵呵以为你做完了就错了!!!你还没有考虑全选后取消一个和全部一个个选中后全选按钮

与全选按钮关联

$('.case').on('click', function () {    if ($('.case').length == $('.case:checked').length) {        $('#checkAll').prop('checked', true);   } else {        $('#checkAll').prop('checked', false);   }})

demo

参考文章

转载于:https://www.cnblogs.com/mayufo/p/7090840.html

你可能感兴趣的文章
TiDB 源码阅读系列文章(七)基于规则的优化
查看>>
jQuery|元素遍历
查看>>
FreeNAS8 ISCSI target & initiator for linux/windows
查看>>
Rainbond 5.0.4版本发布-做最好用的云应用操作系统
查看>>
Java判断是否为垃圾_Java GC如何判断对象是否为垃圾
查看>>
多项式前k项和java_多项式朴素贝叶斯softmax改变
查看>>
java数组只能交换0下标和n_编程练习-只用0交换排序数组
查看>>
OracleLinux安装说明
查看>>
标准与扩展ACL 、 命名ACL 、 总结和答疑
查看>>
使用@media实现IE hack的方法
查看>>
oracle体系结构
查看>>
Microsoft Exchange Server 2010与Office 365混合部署升级到Exchange Server 2016混合部署汇总...
查看>>
Proxy服务器配置_Squid
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
Centos7同时运行多个Tomcat
查看>>
使用CocoaPods过程中的几个问题
查看>>
Spring boot 整合CXF webservice 全部被拦截的问题
查看>>
Pinpoint跨节点统计失败
查看>>
机房带宽暴涨问题分析及解决方法
查看>>