<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>无标题文档</title> </head> <body> <form> 请选择你爱好:<br> <input type="checkbox" name="hobby" id="hobby1"> 音乐 <input type="checkbox" name="hobby" id="hobby2"> 登山 <input type="checkbox" name="hobby" id="hobby3"> 游泳 <input type="checkbox" name="hobby" id="hobby4"> 阅读 <input type="checkbox" name="hobby" id="hobby5"> 打球 <input type="checkbox" name="hobby" id="hobby6"> 跑步 <br> <input type="button" value = "全选" onclick = "checkall();"> <input type="button" value = "全不选" onclick = "clearall();"> <p>请输入您要选择爱好的序号,序号为1-6:</p> <input id="wb" name="wb" type="text" > <input name="ok" type="button" value="确定" onclick = "checkone();"> </form> <script type="text/javascript"> function checkall(){ var hobby = document.getElementsByTagName("input"); // 任务1 for (var i=0;i<hobby.length-1;i++) hobby[i].checked=true; } function clearall(){ var hobby = document.getElementsByName("hobby"); // 任务2 for (var i=0;i<hobby.length-1;i++) hobby[i].checked=false; } function checkone(){ j=0; var j=parseInt(document.getElementById("wb").value); // 任务3 var hobby = document.getElementsByName("hobby"); switch(j){ case 1: hobby[0].checked=true; break; case 2: hobby[1].checked=true; break; case 3: hobby[2].checked=true; break; case 4: hobby[3].checked=true; break; case 5: hobby[4].checked=true; break;} case 6: hobby[5].checked=true; break; default; break; } } </script> </body> </html>
用switch完成最后一个任务,没反应,求大神帮忙看一下,不胜感激!!
全选和全不选那里i<hobby.length,不然你全不选的时候最后那项还是选中状态。switch()那里其实没有大问题,不过就是case 5的break后面多了个大括号,default后面是:写成了;,以后写代码要小心了啊,可以把代码放到自己的编辑器里看看。
好吧,谢谢!
不好意思,说错了,我也不知道怎么回事!!!
你的switch里面的参数j没有和文本框里的值联系起来呀。var j=parseInt(document.getElementById("wb").value);这个j是你用在函数checkone()里面的,你把var j=parseInt(document.getElementById("wb").value);在switch前面再写一遍试试。