<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function DoCheck() {
var all = document.getElementById("all")
var ch = document.getElementsByName("hobby");
if (document.getElementsByName("checkedAll")[0].checked == true) 
for (var i = 0; i < ch.length; i++) {
ch[i].checked = true; } } else { for (var i = o; i < ch.length; i++) { ch[i].checked = fal
se; }
}
}
// 设计一个全选框,
// 要求1、当点击全选框,所有的复选框全部选中,当取消勾选全选框,所有复选框全部取消
// 要求2、当手动点满复选框,全选框自动勾选。当手动取消任意一个复选框,原本勾选的全选框要取
消</script>
</head>
<body> 请选择你喜欢的运动
<br>全选
<input type="checkbox" id ="all" name="checkedAll" onclick="DoCheck()"
value="全选/取消" />
<br>
 足球 <input type="checkbox" name="hobby" value="football"> 篮球 <input type="checkbox"name="hobby"value="basketball"> 乒乓球 <inpt type="checkbo" name="hobb" value="pingpa
ng"> 羽毛球 <input type="checkbox" name="hobby" value="badminton">
<br>
</body>
</html>

解决方案 »

  1.   

    兄弟,else {for (var i = o; i < ch.length; i++)这是0还是o啊?
      

  2.   

    我帮你测试过了,程序没问题,应是数字0 你写成英文字母 O 了,改了,就OK了。<html>
    <head>
    <title>Insert title here</title>
    <script type="text/javascript">
        function DoCheck() {
            var all = document.getElementById("all")
            var ch = document.getElementsByName("hobby");
            if (document.getElementsByName("checkedAll")[0].checked == true) {
                for (var i = 0; i < ch.length; i++) {
                    ch[i].checked = true;
                }
            } else {
                for (var i = 0; i < ch.length; i++) {
                    ch[i].checked = false;
                }
            }
        }
    // 设计一个全选框, 
    // 要求1、当点击全选框,所有的复选框全部选中,当取消勾选全选框,所有复选框全部取消
    // 要求2、当手动点满复选框,全选框自动勾选。当手动取消任意一个复选框,原本勾选的全选框要取消
    </script>
    </head>
    <body> 请选择你喜欢的运动 
    <br />全选 
    <input type="checkbox" id ="all" name="checkedAll" onclick="DoCheck()" 
    value="全选/取消" />
    <br />
     足球 <input type="checkbox" name="hobby" value="football"> 篮球 <input type="checkbox"name="hobby"value="basketball"> 乒乓球 <inpt type="checkbo" name="hobb" value="pingpa
    ng"> 羽毛球 <input type="checkbox" name="hobby" value="badminton"> 
    <br>
    </body>
    </html>
      

  3.   


    if (document.getElementsByName("checkedAll")[0].checked == true) 少了一个 {
    也帮你加了,你测一下
      

  4.   

    结构一样,给出JS部分
    <script>            var eles = document.getElementsByName("hobby");            var all = document.getElementById("all");            function doCheck(){                                var allCheck = all.checked;                if(allCheck){                    for(var i=0; l=eles.length, i<l; i++){                        eles[i].checked = true;                    }                }                else{                    for(var i=0; l=eles.length, i<l; i++){                        eles[i].checked = false;                    }                }            }            function allCheckFn(){                var checkedAll = true;                for(var i=0; l=eles.length, i<l; i++){                    if(!eles[i].checked){                        checkedAll = false                    }                }                if(checkedAll){                    all.checked = true;                }else{                    all.checked = false;                }            }            for(var i=0; l=eles.length, i<l; i++){                eles[i].addEventListener('click',allCheckFn);            }        </script>
      

  5.   

    if里面只需要用一个变量来接住单选的false就行了只要一个if不要else