全选2

  1 <!DOCTYPE html>
  2 <html>
  3 <head lang="en">
  4     <meta charset="UTF-8">
  5     <title>全选2</title>
  6
  7 </head>
  8 <body>
  9 <table id="carTable">
 10     <thead>
 11     <tr>
 12         <td><input type="checkbox" class="check-all check"/></td>
 13         <td>全选</td>
 14     </tr>
 15     </thead>
 16
 17     <tbody>
 18     <tr>
 19         <td><input type="checkbox" class="check-one check"/></td>
 20         <td>冰箱</td>
 21     </tr>
 22     <tr>
 23         <td><input type="checkbox" class="check-one check"/></td>
 24         <td>电视</td>
 25     </tr>
 26     <tr>
 27         <td><input type="checkbox" class="check-one check"/></td>
 28         <td>空调</td>
 29     </tr>
 30
 31     </tbody>
 32 </table>
 33
 34
 35 <script>
 36     window.onload = function () {
 37         //对低版本的IE处理兼容性问题
 38         if (!document.getElementsByClassName) {
 39             document.getElementsByClassName = function (cls) {
 40                 var ret = [];
 41                 var els = document.getElementsByTagName(‘*‘);//拿到所有标签
 42                 for (var i = 0, len = els.length; i < len; i++) {
 43                     if (els[i].className === cls
 44                             || els[i].className.indexOf(cls + ‘ ‘)
 45                             || els[i].className.indexOf(‘ ‘ + cls + ‘ ‘)
 46                             || els[i].className.indexOf(‘ ‘ + cls) >= 0) {
 47                         ret.push(els[i]);
 48                     }
 49                 }
 50                 return ret;
 51             }
 52         }
 53
 54         var checkInputs = document.getElementsByClassName(‘check‘);//所有的复选框
 55         var checkAllInputs = document.getElementsByClassName(‘check-all‘);//全选框
 56
 57
 58         for (var i = 0, len = checkInputs.length; i < len; i++) {
 59             checkInputs[i].onclick = function () {
 60                 if (this.className === ‘check-all check‘) {
 61                     for (var j = 0; j < checkInputs.length; j++) {
 62                         checkInputs[j].checked = this.checked;
 63                     }
 64                 }
 65                 //子选框去掉一个,全选框应该为false
 66                 if (this.checked == false) {
 67                     for (var k = 0; k < checkAllInputs.length; k++) {
 68                         checkAllInputs[k].checked = false;
 69                     }
 70                 }
 71
 72                 //子选框全部选上的时候,全选框应该为true
 73
 74                 var ch = 0;
 75
 76                 for (var x = 1; x < checkInputs.length; x++) {
 77
 78                     if (checkInputs[x].checked == true) {
 79
 80                         ch++;
 81
 82                     }
 83
 84                 }
 85
 86                 if (ch == (checkInputs.length - checkAllInputs.length)) {
 87
 88                     for (var z = 0; z < checkAllInputs.length; z++) {
 89
 90                         checkAllInputs[z].checked = true;
 91
 92                     }
 93
 94                 }
 95
 96
 97             }
 98         }
 99
100
101     }
102
103
104 </script>
105 </body>
106
107 </html>

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title>全选2</title>

</head><body><table id="carTable">    <thead>    <tr>        <td><input type="checkbox" class="check-all check"/></td>        <td>全选</td>    </tr>    </thead>

    <tbody>    <tr>        <td><input type="checkbox" class="check-one check"/></td>        <td>冰箱</td>    </tr>    <tr>        <td><input type="checkbox" class="check-one check"/></td>        <td>电视</td>    </tr>    <tr>        <td><input type="checkbox" class="check-one check"/></td>        <td>空调</td>    </tr>

    </tbody></table>

<script>    window.onload = function () {        //对低版本的IE处理兼容性问题        if (!document.getElementsByClassName) {            document.getElementsByClassName = function (cls) {                var ret = [];                var els = document.getElementsByTagName(‘*‘);//拿到所有标签                for (var i = 0, len = els.length; i < len; i++) {                    if (els[i].className === cls                            || els[i].className.indexOf(cls + ‘ ‘)                            || els[i].className.indexOf(‘ ‘ + cls + ‘ ‘)                            || els[i].className.indexOf(‘ ‘ + cls) >= 0) {                        ret.push(els[i]);                    }                }                return ret;            }        }

        var checkInputs = document.getElementsByClassName(‘check‘);//所有的复选框        var checkAllInputs = document.getElementsByClassName(‘check-all‘);//全选框

        for (var i = 0, len = checkInputs.length; i < len; i++) {            checkInputs[i].onclick = function () {                if (this.className === ‘check-all check‘) {                    for (var j = 0; j < checkInputs.length; j++) {                        checkInputs[j].checked = this.checked;                    }                }                //子选框去掉一个,全选框应该为false                if (this.checked == false) {                    for (var k = 0; k < checkAllInputs.length; k++) {                        checkAllInputs[k].checked = false;                    }                }

                //子选框全部选上的时候,全选框应该为true

                var ch = 0;

                for (var x = 1; x < checkInputs.length; x++) {

                    if (checkInputs[x].checked == true) {

                        ch++;

                    }

                }

                if (ch == (checkInputs.length - checkAllInputs.length)) {

                    for (var z = 0; z < checkAllInputs.length; z++) {

                        checkAllInputs[z].checked = true;

                    }

                }

            }        }

    }

</script></body>

</html>
时间: 2024-12-24 06:38:01

全选2的相关文章

jQuery学习(五)——使用JQ完成复选框的全选和全不选

1.在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框的选中状态设置成跟上面的一致! 2.具体代码实现: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>使用jQuery完成复选框的全选和全不

jq变态全选vs原生变态全选

<script> $(function(){ var num=0; $("#btn").on('click',function(){ if(this.checked){ $("#box").children().attr('checked',true); num=$("#box").children().length;//赋个值 }else{ $("#box").children().attr('checked',

JavaScript全选和取消全选

<html> <head> <title>全选和取消全选</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script language="javascript"> function checkAllorcancelAll(){ //思路:1.获取checkbox的选中状

关于input[type=&#39;checkbox&#39;]全选的问题

今天在做一个全选功能的时候,发现了一个问题,就是如果我在选择全选之前,我就已经选择了一个input,然后我再去选择全选并且以后再取消全选的时候,这个我之前选择的input始终处于选择状态,但是他的checked的值一直是在true和false之间变化,当checked=false的时候,仍然是被选中的.到现在还没处理好这个问题.希望看到的哪位大神能给个好的解决办法,实在感激.下面是类似的代码. <!DOCTYPE html><html lang="en"><

javascript实现全选,反选及全不选(其一)

javascript实现全选,反选及全部选 html 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <

Extjs 4.2 树结点右键菜单(全选,反选,撤销)

自己写的最新版本extjs4.2的树结点的操作,记录一下,以后可能会用到. var tree = new Ext.tree.TreePanel({ flex: 1, animate: true, autoScroll: true, anchor: '100% 93%', store: new Ext.data.TreeStore({ root:{ expanded: true, text:'A', children:[{ expanded: true, text:'1', children:[{

vim全选,全部复制,全部删除

全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v : 是进入Visual(可视)模式 G :光标移到最后一行 选中内容以后就可以其他的操作了,比如: d  删除选中内容 y  复制选中内容到0号寄存器 "+y  复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用

购物车的全选,全不选,局部全选,全选判定

<!doctype html><html><head><meta charset="utf-8"><meta name="format-detection" content="telephone=no"/><meta name="viewport" content="user-scalable=no, width=device-width, initi

JavaScript内容梳理 示例之模态对话框 示例之全选和反选以及取消 示例之后台管理左侧菜单

1 <!DOCTYPE html> 2 <!--示例之模态对话框--> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 <title>Title</title> 7 <style> 8 .hide{ 9 display: none; 10 } 11 .c1{ 12 position: fixed; 13 lef

多选框checkbox全选全不选和反选

在判断多选框中的某一个是否被选中时,我们可以用checked的属性 选中了就返回true,没被选中就返回false; 这是html代码: <form action="#"> <label for="hobby">爱好:</label> <label for="hobby1"> <input type="checkbox" name="hobby" id=