首页 > 代码库 > js实现checkbox全选,不选,反选

js实现checkbox全选,不选,反选

废话少说,先帖代码,然后简述一下遇到的小困难……就是代码中的绿色字体;

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>3</title></head><body>    <button id="all_yes">全选</button>    <button id="all_no">不选</button>    <button id="all_ex">反选</button>    <input type="checkbox" name="test">    <input type="checkbox" name="test">    <input type="checkbox" name="test">    <input type="checkbox" name="test">    <input type="checkbox" name="test">    <input type="checkbox" name="test">    <script>        var all_yes = document.getElementById("all_yes");        var all_no = document.getElementById("all_no");        var all_ex = document.getElementById("all_ex");        var checkboxs = document.getElementsByTagName("input");        function yes(){            for (var i = 0; i < checkboxs.length; i++) {                checkboxs[i].checked = true;//这个地方的true或者false是不能够加引号的,checked属性值可以是"checked"或者true和false,前者有"",后者没有.            }        }        function no(){            for (var i = 0; i < checkboxs.length; i++) {                checkboxs[i].checked = false;            }        }        function ex(){            for (var i = 0; i < checkboxs.length; i++) {                if(checkboxs[i].checked == false){                    checkboxs[i].checked = true;                }else{                    checkboxs[i].checked = false;                }            }        }        all_yes.onclick = yes;                    /*这个地方刚开始的时候写成all_yes.onclick = yes();这样的话在页面加载的时候就会出现,以及全部选择的现象。这是因为如果是yes()的话,浏览器就默认是调用yes()函数,就会自动执行该函数。这个是没有参数的写法。如果是有参数的话,就需要写成                    all_yes.onclick = function(){                        yes(param01,param02);                    }                    */        all_no.onclick = no;        all_ex.onclick = ex;    </script></body></html>

 

js实现checkbox全选,不选,反选