Beebol's 快乐分享

Beebol 一些生活和工作上的分享

【前端-JS】全选功能


简介

几乎所有的项目中都会用到全选的功能,这里介绍一种通用的全选方式

方法概述

  • 全选
    • 选中全选,则所有项目全选
    • 取消全选,则所有项目全不选
  • 全选、非全选时,全选按钮状态控制
    • 当所有项目全选时,全选按钮自动选中
    • 当所有项目非全选时,全选按钮取消选中

范例效果图

<head>
    <meta charset="utf-8">
</head>
<input type="checkbox" onclick="select_all(this);" name="idc" id="idc_all"/>全选
<input type="checkbox" onclick="check_all(this);" name="idc" />北京
<input type="checkbox" onclick="check_all(this);" name="idc" />内蒙
<input type="checkbox" onclick="check_all(this);" name="idc" />广州

<script type="text/javascript">
    function select_all(obj) {
        cName = obj.name;
        var checkboxs = document.getElementsByName(cName);
        for ( var i = 0; i < checkboxs.length; i+=1) {
            checkboxs[i].checked = obj.checked;
        }
    }
    function check_all(obj){
        cName = obj.name;
        var checkboxs = document.getElementsByName(cName);
        all_length = checkboxs.length;
        checked_length = 0;
        for ( var i = 0; i < checkboxs.length; i+=1) {
            if(checkboxs[i].checked == true){
                checked_length += 1;
            }
        }
        if(checked_length == all_length-1 && document.getElementById(cName+"_all").checked == false){
            document.getElementById(cName+"_all").checked = true;
        }else{
            document.getElementById(cName+"_all").checked = false;
        }
    }
</script>

源代码

下载地址:源码位于github有点慢



文章最后更新时间: 2017年05月26日 06:57:24


统计

今日PV:38657 今日UV:36941

文章总数:159 评论总数:7840

原创156 转载0 翻译3

分类文章统计

Python常见错误(3)

Python基础(10)

Django(5)

Flask(1)

Linux基础(6)

shell(11)

linux排障(4)

虚拟化(1)

Consul(3)

MySQL(64)

ProxySQL(7)

SequoiaDB(2)

TiDB(4)

Redis(2)

oracle(10)

常用软件(2)

硬件排障(2)

HTML(1)

JavaScript(1)

windows(1)

总结(1)

我们的作品(18)

按年文章统计

2013(43)

2014(19)

2015(25)

2016(6)

2017(30)

2018(7)

2019(17)

2020(4)

2021(4)

2023(1)

2024(3)

老版入口

IT OPer's 快乐分享

亲,扫我吧!
ITOpers
友情链接

飞哥的:imbusy.me/
冰川的:www.mindg.cn
海洋的:hiaero.net
宏斌的:techindeep.com
若水的:nosa.me
段郎的:sixther.me
肥客联邦:fk68.net