码迷,mamicode.com
首页 > 其他好文 > 详细

checkbox 的全选与全不选

时间:2016-10-11 18:44:02      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

checkbox 的全选与全不选

只需要调用 cekAll.check();方法,这个方法接收两个参数:

参数一: 全选按钮的 id 以字符串的形式写
参数二: 其他 checkbox 的 name 值 也是以字符串的形式写

使用很简单 : 复制 js 代码到你的 js 文件的任何地方,只需要在HTML文档加载完以后调用 cekAll.check();传入参数即可 什么点击事件,什么获取对象,统统不用写,

装点:不管你的 checkbox 是写到页面上的还是动态读取的,都不需要加事件。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script>
    var cekAll = {
        num:0,
        check:function(part,chid){
            var parent = document.getElementById(part);
            var child = document.getElementsByName(chid);
            parent.onclick = function(){
                if(parent.checked != true){
                    for(var j = 0;j<child.length;j++){
                        child[j].checked = false;
                        cekAll.num = 0;
                    };
                }else{
                    for(var i=0;i< child.length;i++){
                        if(parent.checked == true){
                            child[i].checked = true;
                            cekAll.num = child.length;
                        };
                    };
                };
            };
            cekAll.childClick(part,chid);
        },
        childClick:function(one,two){
            var one1 = document.getElementById(one);
            var two1 = document.getElementsByName(two);
            for(var j = 0;j< two1.length;j++){
                two1[j].onclick = (function(){
                    return function(){
                            if(this.checked == false){
                                one1.checked = false;
                                cekAll.num--;
                            }else{
                                cekAll.num ++;
                                if(cekAll.num == two1.length){
                                    one1.checked = true;
                                };
                            };
                        };
                })();
            };
        }
    };
    </script>
</head>
<body>
    <div>
        <input type="checkbox" id="quanxuan"/>全选<br/>
    </div>
<script>
    // 动态添加的 checkbox 跟写到页面上是一样的
    var div = document.getElementsByTagName(div)[0];
    var arr = [吃饭,睡觉,打豆豆];
        for(i in arr){
            var str = <input type="checkbox" name="che1">+arr[i]+‘‘;
            div.innerHTML += str;
        }
    // -- 静态写到页面上的、动态添加的,调用 cekAll.check(); 方法的书写格式都一样
    cekAll.check(quanxuan,che1);
    </script>
</body>
</html>

 

checkbox 的全选与全不选

标签:

原文地址:http://www.cnblogs.com/chefweb/p/5950237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!