checkone函數(shù)為什么用不起來?
<!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");
? ? ? ? ? for(var i=0;i<hobby.length;i++){
? ? ? ? ? ? ? hobby[i].checked=true;
? ? ? ? ? }
? ? ? ? ? ?
? ? ? ? }
? ? ? ? function clearall(){
? ? ? ? ? ? var hobby = document.getElementsByName("hobby");
? ? ? ? ? ??
? ? ? ? ?// 任務(wù)2 ? ?
? ? ? ? ? ? for(var i=0;i<hobby.length;i++){
? ? ? ? ? ? ? hobby[i].checked=false;
? ? ? ? ? }
? ? ? ? ? ?
? ? ? ? }
? ? ? ??
? ? ? ? function checkone(){
? ? ? ? ? ? var j=parseInt(document.getElementById("wb").value);
? ? ? ? ? ? var str=j.split();
? ? ? ? ? ? ?var hobby = document.getElementsByName("hobby");
? ? ? ? ? ? for(var i=0;i<str.length;i++){
? ? ? ? ? ? ? ? hobby[str.charAt(i)-1].checked=true;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ??
? ? ? ? </script>
? ? </body>
</html>
2016-01-02
?首先,var j=parseInt(document.getElementById("wb").value);中用了parseInt將結(jié)果轉(zhuǎn)成了number類型。不能用split 因為split是String才有的方法。
其次,把字符串周圍空去掉用split(""); 而不是split();并且將結(jié)果存為數(shù)組的形式如:輸入:23, 結(jié)果:[2,3]
最后,按照你的思路改了下代碼: ?輸入23 ?結(jié)果第2和第3復選框被選種?