点击table的tr 使之前的checkbox反选

今天有需求,要做一下这个功能

看了网友给出的几个点击后以改变的变色来判断是否选中,思路也很好,但是确实有局限性

所以自己写了一个,亲测可用,分享给大家!

页面我就不贴了,checkbox在table的第一个单元格内

$("#table").find("tr").click(function (e) {
                        var target = $(e.target);
                        if (!target.is($(this).find(":checkbox"))) {
                            if ($(this).find(":checkbox").is(":checked")) {
                                $(this).find(":checkbox").prop("checked", false)//不选中
                            } else {
                                $(this).find(":checkbox").prop("checked", true)//选中
                            }
                        }
                    })

做一下更正,之前的版本会出现一个问题,当点击tr内的checkbox的时候,则会同时触发 tr的click事件和check的选中事件

导致直接点击checkbox无法被选中

更改后,添加了鼠标点击位置的监控,使两个选中不会同时触发 ,大家可以放心使用!

 

若有疑问,欢迎留言

转载请标明出处:https://blog.youkuaiyun.com/qq_39646675/article/details/86529967

### 使用HTML、CSS和JavaScript实现复框的全和取消全部功能 为了满足需求,下面提供了一种基于HTML、CSS以及JavaScript的方法来实现在表格列表内容中对复框的操作——即全及取消全部的功能。 #### HTML结构设计 构建一个简单的HTML文档框架,在此框架内放置一张带有若干条目及其对应复框的表格,并加入用于触发上述三种行为(全//取消)按钮[^1]: ```html <table id="data-table"> <thead> <tr> <th><input type="checkbox" id="select-all"></th> <!-- 其他表头 --> </tr> </thead> <tbody> <tr> <td><input class="item-checkbox" type="checkbox"></td> <!-- 数据列 --> </tr> <!-- 更多数据行... --> </tbody> </table> <button onclick="selectAll()">全</button> <button onclick="invertSelection()"></button> <button onclick="deselectAll()">取消全部</button> ``` #### JavaScript逻辑处理 接下来定义三个函数`selectAll()`、`invertSelection()` 和 `deselectAll()` 来响应用户的交互动作并更新相应复框的状态。这些方法利用了DOM API访问页面上的元素并对它们进行操作[^3]: ```javascript function selectAll() { const checkboxes = document.querySelectorAll('.item-checkbox'); checkboxes.forEach((cb) => cb.checked = true); } function invertSelection() { const checkboxes = document.querySelectorAll('.item-checkbox'); checkboxes.forEach((cb) => cb.checked = !cb.checked); } function deselectAll() { const checkboxes = document.querySelectorAll('.item-checkbox'); checkboxes.forEach((cb) => cb.checked = false); } ``` 此外,还需要为“全”复框绑定事件监听器以便同步其状态与其他项的择情况。这可以通过额外增加一段脚本来完成: ```javascript document.getElementById('select-all').addEventListener('change', function(event){ var checkedStatus = event.target.checked; document.querySelectorAll('.item-checkbox').forEach(function(item){ item.checked = checkedStatus; }); }); ``` #### CSS样式优化 考虑到用户体验,可以适当应用一些基本的CSS规则给到复框以及其他UI组件上,使其看起来更加美观友好。不过需要注意的是,默认情况下浏览器对于标准输入控件的支持程度不一,因此建议采用伪类或者其他方式间接影响外观而不直接改变默认渲染[^4]: ```css /* 自定义样式 */ .item-checkbox, #select-all { /* 定制化样式属性 */ } ``` 以上就是如何运用HTML+CSS+JS组合技术在一个网页应用程序里轻松达成复框全及清除所有择的效果介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KhalidDu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值