首页 > 其他分享 >全选文本框示例

全选文本框示例

时间:2023-08-17 17:34:26浏览次数:41  
标签:checked 示例 checkList 文本框 复选框 全选 按钮 小米

一、实现效果

  • 点击全选按钮/取消全选,控制商品的全选或取消
  • 每个商品的复选框都选中后,自动勾上全选按钮,或者商品任何一个复选框没有选中,取消全选

image

二、思路

  • 就是由大的全选按钮,控制所有的复选框
  • 小的复选框控制大的全选按钮

三、js中小的复选框控制大的全选框,用到了一个css伪类选择器

input:checked

举个例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <style>
        input:checked{
            width: 50px;
            height: 50px;
        }
    </style>
</head>
<body>
    <input type="checkbox" >
</body>
</html>

image

四、完整的代码段

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title</title>
    <style>
        div {
            margin: 100px auto;
            width: 500px;
            height: 300px;
        }

        table {
            border-collapse: collapse;
            width: 100%;
            height: 50%;
            text-align: center;
        }

        table tr th {
            background-color: #3899ce;
        }
    </style>
</head>
<body>
    <div>
        <table border="1">
            <thead>
            <tr>
                <th><input type="checkbox" class="check-all">全选</th>
                <th>商品</th>
                <th>商家</th>
                <th>价格</th>
            </tr>
            </thead>
            <tbody>
            <tr>
                <td><input type="checkbox"></td>
                <td>小米手机</td>
                <td>小米</td>
                <td>1999</td>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>小米净水器</td>
                <td>小米</td>
                <td>2999</td>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>小米电视</td>
                <td>小米</td>
                <td>3999</td>
            </tr>
            </tbody>
        </table>
    </div>


    <script>
        const checkAll = document.querySelector('.check-all')
        const checkList = document.querySelectorAll('tbody input')
        //大复选框控制小复选框
        checkAll.addEventListener('click', function () {
            //当点击全选按钮时,每一行的checked的状态会和全选/取消是一样的,所以要获取每一行的数据在进行更改
            for (let i = 0; i < checkList.length; i++) {
                checkList[i].checked = this.checked
            }
        })

        //由小的复选框控制大的复选框
        //如果勾选完每一行数据后,全选按钮自动选上,或者取消勾选一行数据,全选按钮自动取消

        //核心思想就是通过css的伪类选择器,找到选中的个数与总的复选框个数进行对比
        //如果选中个数===总个数,全选按钮就勾上,否则取消
        for (let i = 0; i < checkList.length; i++) {
            checkList[i].addEventListener('click', function () {
                checkAll.checked = document.querySelectorAll('tbody input:checked').length ===checkList.length

            })
        }
    </script>
</body>

</html>

标签:checked,示例,checkList,文本框,复选框,全选,按钮,小米
From: https://www.cnblogs.com/bangbangzoutianya/p/17638226.html

相关文章

  • C#语言学习代码示例
    保留数位namespaceBasicGrammarStudy{classProgram{staticvoidMain(string[]args){Console.WriteLine(string.Format("{0:F3}",13.47483327438));//13.475Console.WriteLine(string.Format("{0......
  • Vue+Element导出Excel表格示例
    <template><div@click="exportFn">导出</div></template><script>exportdefault{data(){return{query:{pageIndex:1,//当前页......
  • 使用Pandas进行数据清理的入门示例
    数据清理是数据分析过程中的关键步骤,它涉及识别缺失值、重复行、异常值和不正确的数据类型。获得干净可靠的数据对于准确的分析和建模非常重要。本文将介绍以下6个经常使用的数据清理操作:检查缺失值、检查重复行、处理离群值、检查所有列的数据类型、删除不必要的列、数据不一......
  • assimp示例1
    #include<assimp/Importer.hpp>//C++importerinterface#include<assimp/scene.h>//Outputdatastructure#include<assimp/postprocess.h>//PostprocessingflagsboolDoTheImportThing(conststd::string&pFile)......
  • API接口对接电商平台高效获取各大电商平台数据,商品详情数据代码示例
     电商可以通过使用API接口获取商品信息数据。API是应用程序编程接口的缩写,它允许程序之间进行通信和数据传输。为了获取商品信息数据,电商可以利用API接口向商品供应商的数据库发送请求,然后接收并解析返回的数据。具体来说,电商可以按照以下步骤利用API接口获取商品信息数据:1.找......
  • JSON生成Form表单的方法示例
    JSON生成Form表单的方法示例 更新时间:2018年11月21日14:21:14 作者:熟悉的陌生人  JSON表单是一个基于React的抽象组件,它可以把JSON数据格式描述的表单转换成项目中的表单,这篇文章主要介绍了JSON生成Form表单的方法示例,感兴趣的小伙伴们可以参考一下 JSON表单描述......
  • WPF 入门笔记 - 07 - MVVM示例
    滴咚,大家好久不见......
  • RabbitMq应用示例(RabbitMq第三篇)
    一、应用示例:参考文献:(写的很好的一篇文章,小编已经参照该博主的内容完整的编写了一遍,可能会有一些遐思,后续会把自己编写的代码也补充一下)Springboot整合RabbitMq,用心看完这一篇就够了_springbootrabbitmq_小目标青年的博客-CSDN博客简单的消息推送流程图:黄色的圈圈就是我们的消息......
  • mongoDB 入门指南、示例
    一、准备工作1、下载mongoDB下载地址:http://www.mongodb.org/downloads选择合适你的版本相关文档:http://www.mongodb.org/display/DOCS/Tutorial2、安装mongoDBA、不解压模式:将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默认端口27017,db保存的路径......
  • 一个简单利用WebGL绘制频谱瀑布图示例
    先看效果还是比较节省性能的,这个还是包含了生成测试数据的性能,实际应用如果是直接通信获得数据应该还能少几毫秒吧!准备工作用了React,但是关系不大WebGL的基础用法(推荐看一看掘金里的一个教程:WebGL入门与实践)有兴趣应该读一读这个的源码GPU.JS,因为一开始偷学了一手flatten......