JS如何实现勾选全部复选框和不全选复选框

JS实现复选框(全选/全不选/反选) input type="button" id="checkBtn" value="全选"/><input type="checkbox" name="hobbies" />踢足球。<input type="checkbox" name="hobbies" />打篮球。<input type="checkbox" name="hobbies" />羽毛球。<input type="checkbox" name="hobbies" />曲棍球。 阅读详情

前言

在一些后台管理系统里面,针对全选,复选框是一个很常见的操作,复选框可以执行多项选择的一种控件,有时,为了方便用户选中所有的复选框,网页界面

会提供一个选中所有复选框的功能,怎么实现一个复选框全部被选中的效果呢

示例效果

2c825c087f9dce3a756dd02bc0c3afef.png

09d09d2d9053b5afb90764a3469eefe3.png

7c32a3d5f6d77f4e58aee369c76e02b2.gif
allcheckbox


原生Js

920e52f60ab2fa8cc8dd1dff45d6302b.png

73f011e66cabdb1797356e4f37e91826.png

实现全选的效果,复选框是否被勾选,是由它的checked属性决定的,因此,实现本例效果的关键就是找到所有对应的复选框,然后将其它的checked属性设置为true或false实现全选或全不选

如下实现一个简易的全选功能

// 选择所有函数
function checkAll(c) {
    var arr = document.getElementsByTagName("myname");
    if(c) {
        // 遍历所有的复选框
        for(var i = 0;i<arr.length;i++) {
            arr[i].checked = true;   // 选中
        }
    }else {
        // 遍历所有的复选框
        for(var i = 0;i<arr.length;i++) {
            arr[i].checked = false; // 不选中
        }
    }
}

如下是html

<input type="checkbox" name="mayall" onclick="checkAll(this.checked)" />全选<br />
<input type="checkbox" name="myname" />前端&nbsp;&nbsp;
<input type="checkbox" name="myname" />后端&nbsp;&nbsp;
<input type="checkbox" name="myname" />小程序

Vue版本实现

de34a7bfc0d6195d9e1a8c20abb204b1.png

fc01b155ace13f4e3be5bf9c89935383.png

如下代码所示,像这种全选,复选框,我们往往在提交的时候,是需要将具体的参数值,传递给后端的,而并非一些UI组件示例库当中 实现一下效果,就完事了的,往往需要自己进行二次特殊处理的

以下是上面全选,复选的示例代码

<template>
    <div class="wrap">
        <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
            <div style="margin: 15px 0;"></div>
            <el-checkbox-group v-model="checkedLanNames" @change="handleCheckedlanguagesChange">
                <el-checkbox v-for="lan in checkedLanOptions" :label="lan.type" :key="lan.name">{{lan.name}}</el-checkbox>
        </el-checkbox-group>
    </div>
</template>

<script>
    export default {
        name: 'checkedAll',
        data() {
            return {
                checkAll: true, // 默认全选,true表示全选,false,不全选
                checkedLanNames: [], // 绑定默认选中
                type: "", // 向后端传的code字符串
                languages: [
                    {
                        type:'1',
                        name: "前端"
                    },
                    {
                        type:'2',
                        name: "后端"
                    },
                    {
                        type:'3',
                        name: "小程序"
                    },
                    {
                        type:'4',
                        name: "云开发"
                    },
                ],
                isIndeterminate: true
            };
       },

       mounted () {
           this.checkedLanNames = this.languages.map(item => item.type);
       },

       computed: {
         checkedLanOptions() {
            return this.languages;
         }
       },

       methods: {
        handleCheckAllChange(val) {
            //console.log("全选", val); // val就是v-model绑定的值,即this.checkAll
            if (this.checkAll) {
                  // 当全选被选中的时候,循环遍历源数据,把数据的每一项加入到默认选中的数组中区
                 this.checkedLanNames = this.languages.map((item) => item.type);
                } else {
                    this.checkedLanNames = [];
                    this.type = "";
                }
                this.isIndeterminate = false;
        },
        handleCheckedlanguagesChange(value) {
                // value就是v-model绑定的值,即this.checkedLanNames
                console.log(value);
                if (this.checkedLanNames.length == this.languages.length) {
                    this.checkAll = true;
                } else {
                    this.checkAll = false;
                }
                this.type = this.checkedLanNames.join(",");  // 用逗号拼接成字符串传递给后端
        }
    }
}
</script>

<style lang="scss" scoped>
.wrap {
    text-align: center;
    margin:20px 0 20px 0;
}
</style>

总结

实现全选与全不选在一些后台业务管理系统里面,是一个很常见基础的业务实现

全选与全不选的复选框是否被勾选,是由它的checked属性决定的,checked的属性值若为true那么状态为选中,若为false那么不选中

前端UI显示,与具体要向后端传入的值,是需要与后端协商的,上面的type也就是前后端协商的字段

前后端保持一致就可以了的,按照指定的数据格式传递给后端处理,后端需要什么样的数据格式,那就传具体的数据格式类型,比如,纯字符串,或数字等

d23186eaaa74f8e2f6314304075bc486.jpeg

Js如何实现当网页超过一屏时导航菜单始终置顶-吸顶盒效果


946f87c736fa5383ee745c61ea0e386e.jpeg

VueJs中如何使用Teleport组件


4be27ba813ed1b180326a216db26baa1.jpeg

VueJs中如何使用provide与inject


70e6513452b875ea700016cc460e942a.jpeg

VueJs中customRef函数的使用


e3037dd277a6265b1e0b79097b56299e.jpeg

vueJs中toRaw与markRaw函数的使用比较


点击左下角查看更多

8275879a69faaa04ff87b0bec85a89ef.gif

JavaScript全部勾选所有复选框 本例主要说明如何使用JavaScript实现全选功能。效果图如下 点击“全选”前 点击“全选”后   代码如下: 全部勾选所有复选框 //勾选所有的函数 functioncheckAll(c){ //获取所有的复选框 var arr= document.getElementsByName('myname'); if(c){ 阅读详情

相关推荐

小程序复选框全选和全部取消

小程序全选和全部取消 1.在wxml中先添加复选框和点击事件 <checkbox class="q" bindtap="checkq" checked="{{isAll}}">全选</checkbox> <text bindtap-="tz">跳转下一页</text> <text>总数:{{sum}}</text> </view> <view class="box1" wx:for="{{list}}" bindtap

w1258048309的博客 2293

js中复选框checkbox如何判定为被选中

在学习的过程中触及到html分离式开发的内容,其中复选框checkbox判定选中对于ajax传数据来说十分重要,故将该篇文章转发留存,方便以后查阅。要想判定复选框选中状态可以使用: 1、checkbox中的checked属性 1.1 如果对于input标签,不设置其checked属性的话,默认是该复选框不被选中; 1.2 而如果设置了checked属性的话,本人在js中测试的时候;1)将checked属性设置为checked=true或者checked=”true”或者checked=”false”时,系统

爱学习的大雄的博客 3万+

FineReport报表开发小技巧:如何用JS实现复选框全选和自动勾选

本文详细介绍了在FineReport报表开发中如何利用JavaScript实现复选框的全选和智能联动勾选功能。通过解析复选框基础与事件机制,提供全选功能的完整方案和智能联动的高级应用,帮助开发者提升报表交互体验。文章还包含调试技巧与性能优化策略,适用于帆软报表开发的各种业务场景。

weixin_30296405的博客 538

原生js实现复选框(全选/全不选/反选)效果【含完整代码】

1、勾选后,可以获取到所勾选的值组成的数组,并展示到页面; 2、全部勾选,以及取消勾选时,要相应地更新全选框的状态及文字显示; 3、点击反选,将所有选项的选择状态置换,并相应改变全选框的状态;定义一个数组checkValues,存放用户所勾选的内容。 再定义一个函数,遍历选框数组checks,如果选框checks[i]被选择,则将value加入数组。遍历完成后,使用属性将数组展示到页面中。 捕获选框的点击事件,当用户点击时,执行。 2、更新全选框状态及文字显示 定义一个判断是否全选的函数,遍历选框数组

qq_40261601的博客 1万+

购物车页面实现复选框的选中,全选功能和按单价,数量实现总价的自动计算(更新)

购物车全选,单选,价格的实现(更新) 完成效果 HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>叮当图书网-查看购物车</title> <link href="css/mycar.css" rel="style...

白山茶ι的博客 6048

JavaScript实现复选框的全选、全不选、反选、提交获取选中按钮、全不选/全选复选框按钮

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> window.onload = function ()...

Hern(宋兆恒) 2244

checkbox全选/全不选

[code="html"] checkbox全选/全不选 p { margin:0; font-size:12px; line-height:26px; } function check_all(obj,cName){ var checkboxs = document.getElemen...

MuscleCode 124

JavaScript技巧:实现复选框的全选与全不选操作

在Web开发中,经常会遇到需要对一组复选框进行全选或全不选的需求。本文将介绍一种简洁的JavaScript技巧,可以实现这一功能。以下是实现思路和相应的源代码。

CyberOI的博客 438

通过JavaScript 实现简单的全选、不全选的思想

一、思路我们要做到,选择了全选按钮,让下面的所有的按钮都要勾取。 实现的思路是,全选的按钮是否勾取,勾取后通过for循环来得到每一个按钮,赋值上全选按钮的勾取状态。展示效果1:有了全选按钮,实现其他按钮的勾取,我们也要实现,主动勾取完了所有按钮,全选按钮要自动勾取,反之没有勾取完,全选按钮不处于勾取状态 效果展示2:二、实现效果1.h5的布局2.js代码1.获取元素2.获取全选,通过循环将选择按钮都赋上选择状态3.设置,选择按钮全勾选后,全选按钮自动勾取,反之则取消勾.........

yzq0820的博客 2079

js实现全选(附完整源码)

js实现全选(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 945

Docker网络教程(四)macvlan 网络教程

在这种网络下,Docker 宿主机在它的IP之上,允许接受多个 MAC 地址的请求,然后再将这些请求路由至对应的容器里。流通,Docker 会用它的 MAC 地址,把流量路由进你的容器里。对于网络上的网络设备来说,你的容器似乎是物理上连接到网络上的。),Docker使用其MAC地址将流量路由到你的容器。对于网络上的网络设备来说,你的容器似乎是物理上连接到网络上的。你需要 3.9 或者更高版本的 Linux 内核,4.0 以及以上的版本是更好的。如果你的设备叫别的名字,用对应的名字代替。

weixin_42445065的博客 4132

elementUI表格里树形结构嵌套复选框全选全不选功能及子集没全选是父级不勾选子集全选后父级自动勾选

第一次在优快云上面发表文章,还有点小激动。废话不多说,先看一下效果图 全部选中的时候,勾选父级子集全部选中 取消子集的选中,父级默认也取消 然后就是代码了,先添加checkbox标签,定义事件 由于后端数据里面没有给我返回参数所以,自己处理了一下参数结构,添加了checked和parent两个属性 由于别的地方也用到了请求回来的数据,所以自己深拷贝了一下获取到的数据到新的数组里面进行属性添加,listdata就是自己请求接口获取的数据,进行递归,添加了两个属性赋值给this.listdatapron

weixin_48050571的博客 3049

手把手教你:在联想/戴尔笔记本上安装华为电脑管家,实现多屏协同(附详细避坑步骤)

本文详细指导如何在联想、戴尔等非华为笔记本上安装华为电脑管家,实现多屏协同功能。从硬件兼容性检查到定制化安装流程,再到功能调优与异常处理,提供了一套完整的解决方案,帮助用户突破品牌限制,享受华为生态的高效办公体验。

weixin_30251829的博客 835

JavaScript实现表格外面有一个全选按钮,点击后能实现全部复选框的选中

表格外面有一个全选按钮,点击后能实现全部复选框的选中。 效果如图所示 全选 部分选中 全不选 鼠标移入变色 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="wid...

前端技术分享 4598

codevs 1620 轮船问题 DP 解题报告

某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。

Hawo11的博客 815

从零到一:RK3588嵌入式开发中的SDK与MPP集成实战解析

本文详细解析了RK3588嵌入式开发中SDK与MPP(Media Process Platform)的集成实战,涵盖开发环境构建、SDK架构解析、MPP集成关键技术点及常见问题诊断。通过Qt5.12.10交叉编译环境配置和硬件加速优化,帮助开发者高效完成嵌入式视觉项目开发,特别适合边缘计算应用场景。

weixin_29189381的博客 509

js如何实现全选

js实现全选

BANaanaa的博客 1446

51单片机IAP在线升级

51单片机IAP在线升级 爱矽半导体E85F3325单片机IAP在线升级教程,此处可查看更新及demo下载 文章目录前言一、ROM资源二、KEIL有关知识1.BL51连接器:2.LX51连接器:三、Keil其他相关项说明:四、MCU启动文件说明:五、例程BOOTLOADER使用说明六、例程使用可更改说明:七、程序使用通信方式:XMODEM八、APP程序说明九、APP代码升级说明十、代码合并烧写 前言 扩展-IAP 主要用于产品出厂后应用程序的更新作用 ,类似于其他引导装载升级程序的方法,在系统中必须始终

qq_42415953的博客 6666

jquery实现[复选框] 全选、取消全选、自动勾选或取消全选按钮

实现效果: 【全选/取消按钮】点击全选后,下面的子复选框全部选中。 【全选/取消按钮】点击取消全选后,下面的子复选框全部取消选中。 当所有【子复选框按钮】点击选中后,【全选/取消按钮】自动勾选为选中状态。 当某个【子复选框按钮】点击取消选中后,【全选/取消按钮】自动取消勾选状态。 代码: 全选框ID:all ; 子复选框最外层的ID 为:chekclist html <ta...

coco1118的博客 6534

dummy机械臂代码学习(六)

CLI-Tool文件夹下又包含四个子文件夹,以及一个gitignore文件、一个run_shell.py的python文件、一个run.bat文件和一个zadig exe文件。库解析命令行参数,并根据不同的命令执行相应的操作。Zadig是一个用于Windows操作系统的开源工具,它的主要功能是安装和配置USB驱动程序。的目的呢就是确保在版本控制过程中,不必要的或自动生成的文件被忽略掉,来保持代码仓库的干净和整洁。,DummyStudio的软件作者已放在GitHub,我们主要看CLI-Tool文件夹就行。

jumaohhh的博客 1432

ADS新手必看:5分钟搞定Smith圆图阻抗匹配(附详细操作截图)

本文为射频电路设计新手提供了在ADS软件中快速使用Smith圆图进行阻抗匹配的实战指南。通过清晰的步骤和操作截图,详细演示了如何从负载阻抗点出发,通过添加电感和电容元件,在5分钟内完成向50欧姆标准阻抗的匹配,并介绍了仿真验证与性能调优的方法,帮助工程师和学生直观掌握这一核心技能。

weixin_29261711的博客 391

使用Vue实现复选框的全选与反全选

该实例实现复选框的全选与反全选。 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>学习Vue</title> <!-- 使用CDN引入Vue.js --> <script type="text/java...

二木成林 2966

CD-HIT的使用

继续我的生信笔记系列。从某网站的附带文献中读到该工具,搜索了一下,发现网上的大佬们都在讲如何用它去冗余,相对官方页面的介绍而言很是片面,于是刚好有聚类的需求的我准备对其全体功能做做实验,学习一下由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发的牛工具。 首先是官方介绍: CD-HIT是一个非常广泛使用的程序,用于蛋白质或核苷酸序列的聚类和比较。最初由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发,CD-HIT速度非常快,可以处理非常

一名学术waste的note pro 1万+

使用JavaScript实现全选,全不选和反选

1使用JavaScript实现全选,全不选和反选 先写出它的布局,首先我们给他一个div来装所要写的内容,再在大的div里面放两个div和三个button按钮,button按钮就是用来放全选,全不选和反选的,第一个div是用来放标题的(选择爱好:),而第二个div是用来放选择框和选项的,里面的选择框我们是用input标签来实...

u_u2020的博客 2827

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

通过js代码实现复选框的全选/全不选

通过勾选“全选/全不选”这个复选框,实现多个复选框的全选/全不选 1、“全选/全不选”复选框的代码: <td align="center" width="5%"><input type="checkbox" onclick="checkAll()" id="ckAll"/>全选/全不选</td> 2、其余多个复选框的代码: td align="center" width="5%"><input type="checkbox" name="ckBookId" /

xiao____ming的博客 1175

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

用原生js实现复选框选择以及全选非全选功能 (待看)

CheckBox控件就是我们一般所说的复选框,通常用于某选项的打开或关闭。大多数应用程序的“设置”对话框内均有此控件。我们看到的可以打勾的就是CheckBox。   该控件表明一个特定的状态(即选项)是选定 (on,值为1) 还是清除 (off,值为0)。在应用程序中使用该控件为用户提供“True/False”或“yes/no”的选择。因为 CheckBox 彼此独立工作,所以用户可以同时选择任

melody_day的博客 4532

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: JS如何为表单聚焦控件设置醒目的样式
下一篇: Js如何删除所有子元素以及当前元素
itclanCoder
博客等级 码龄10年 1481粉丝 434原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值