单选与全选

简介: 结合table表格和checkbox复选框实现单选与全选功能(本文只考虑功能实现,样式不要在意,虽然极丑,但我看不到 φ(>ω<*) )。

内容介绍

  结合table表格和checkbox复选框实现单选与全选功能(本文只考虑功能实现,样式不要在意,虽然及丑,但我看不到 φ(>ω<*) )。

一、效果图

在这里插入图片描述
:point_down: :point_down: :point_down: :point_down: :point_down:
在这里插入图片描述

三、实现代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>单选与全选</title>
</head>

<body>
    <h1>单选与全选:</h1>

    <table border="1">
        <tr>
            <th><input type="checkbox"></th>
            <th>单元格2</th>
            <th>单元格3</th>
            <th>单元格4</th>
        </tr>
        <tr>
            <td><input type="checkbox"></td>
            <td>单元格2</td>
            <td>单元格3</td>
            <td>单元格4</td>
        </tr>
        <tr>
            <td><input type="checkbox"></td>
            <td>单元格2</td>
            <td>单元格3</td>
            <td>单元格4</td>
        </tr>
        <tr>
            <td><input type="checkbox"></td>
            <td>单元格2</td>
            <td>单元格3</td>
            <td>单元格4</td>
        </tr>
    </table>
    <script>
        var oneChecked = document.querySelectorAll('td>input');
        var allChecked = document.querySelector('th>input');

        allChecked.onclick = function() {
            for (var i = 0; i < oneChecked.length; i++) {
                if (this.checked) {
                    oneChecked[i].checked = true;
                } else {
                    oneChecked[i].checked = false;
                }
            }
        }

        oneChecked.forEach(function(ele) {
            ele.onclick = function() {
                var checkedEle = document.querySelectorAll('td>input:not(:checked)');

                if (!checkedEle.length) {
                    allChecked.checked = true;
                } else {
                    allChecked.checked = false;
                }
            }
        })
    </script>
</body>

</html>

三、注

理清 thead 与 tbody 复选框是否选中的关联关系即可。


标签:JavaScript,单选与全选


更多演示案例,查看 案例演示


欢迎评论留言!

相关文章
|
12月前
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
3582 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
Java 数据库连接
Java中的静态代码块深入解析
Java中的静态代码块深入解析
274 0
|
数据采集 语音技术
**source_len字段表示的是音频数据中有效语音部分的长度**。
**source_len字段表示的是音频数据中有效语音部分的长度**。
78 1
TreeMap的排序
TreeMap的排序
233 0
|
机器学习/深度学习 存储 分布式计算
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
使用PAI-EAS一键部署ChatGLM及LangChain应用
|
Java 关系型数据库 MySQL
结合springboot+mybatis-plus+lombok,自定义Page封装类
结合springboot+mybatis-plus+lombok,自定义Page封装类
544 0
|
安全 算法 Linux
配置 SSH 密钥
云效代码管理 Codeup 的代码仓库支持配置 HTTP(S) 和 SSH 两种访问协议,配置SSH 协议可以实现安全的免密认证,且性能比 HTTP(S) 协议更好(因为 HTTP 是无状态协议,需要多次连接和交互)。在使用 SSH 协议操作代码仓库前,首先需要生成并上传你的 SSH 公钥,完成 SSH 公钥和用户账号的对应。
1261 0
配置 SSH 密钥
刷爆leetcode第十二期 0026 数组中数字出现的次数
刷爆leetcode第十二期 0026 数组中数字出现的次数
140 0
刷爆leetcode第十二期 0026 数组中数字出现的次数
|
测试技术 Python
一日一技:导入父文件夹中的模块并读取当前文件夹内的资源
一日一技:导入父文件夹中的模块并读取当前文件夹内的资源
244 0
|
前端开发 安全 运维
拥抱云时代的前端开发架构—微前端
微前端架构旨在解决单体应用在一个相对长的时间跨度下,由于参与的人员、团队的增加,从一个普通应用演变成一个巨石应用(Frontend Monolith),随之而来的应用不可维护的问题。这类问题在企业级 Web 应用中尤为常见。
拥抱云时代的前端开发架构—微前端