input checkbod 全选 反选

  <script>

            var CheckBox=div.getElementsByTagName('input');
             
            //全选
            function CheckAll(){
                for(i=0;i<CheckBox.length;i++){CheckBox[i].checked=true;};
            };
             
            //不选
            function UnCheck(){
                for(i=0;i<CheckBox.length;i++){CheckBox[i].checked=false;};
                };
             
            //反选
            function othercheck(){
                for(i=0;i<CheckBox.length;i++){
                    if(CheckBox[i].checked==true){ CheckBox[i].checked=false;}
                    else{ CheckBox[i].checked=true}
                }
            };
        </script>
 
 
第二种方法:
window.onload = function() {
                //先获得控制全选反选的input标签
                var inputAll = document.getElementById("theadInp");
                //获得tbody
                var tbody = document.getElementById("tbody");
                //获得天tbody里面的子元素
                var icheck = tbody.getElementsByTagName("input");
                console.log(icheck);
                //给控制全选反选的input标签绑定事件
                inputAll.onclick = function() {
                    //遍历tbody里面的input标签,把inputAll的状态赋值给icheck
                    for(var i = 0; i < icheck.length; i++) {
                        icheck[i].checked = this.checked;
                    }
                }
以为这样就结束了事了吗?然而并没有。里面还是有个小问题的,就是当下面的input有一个以上没选中的时候,那么inputAll的状态也必须要跟着变化,总不能只让人家听他一个人的话吧,这就太不像话了。
 
for(var i = 0; i < icheck.length; i++) {
                    //给每个子元素都绑定事件
                    icheck[i].onclick = function() {
                        //点击的时候在遍历icheck,看看是否有没选中的
                        for(var j = 0; j < icheck.length; j++) {
                            //定义一个标志来记录
                            var flag = true;
                            if(icheck[j].checked == false) {
                                flag = false;
                            }
                        }
                        inputAll.checked=flag;
                    }
                }
 
posted @ 2017-11-27 10:44  小哥森  阅读(329)  评论(0编辑  收藏  举报