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>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。