亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

第48-51這個for循環的內容不太懂?

第48-51這個for循環的內容不太懂?

想要飛的魚兒 2016-04-18 21:33:10
這段代碼主要實現在文本框內輸入 上面6個愛好的對應的1-6的序號,可以將其打鉤選中,可是我理解他怎么覺得他吧1-j(即輸入的數字)之間的的愛好全選中了?可事實證明我的理解是錯的<!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");? ? ? ? ? ? for(var i=0;i<hobby.length;i++){? ? ? ? ? ? ? ? hobby[i].checked=false;? ? ? ? ? ? }? ? ? ? }? ? ? ??? ? ??? ? ? ? function checkone(){? ? ? ? ? ? clearall();? ? ? ? ? ? var hobby = document.getElementsByName("hobby");? ? ? ? ? ? var j=document.getElementById("wb").value;? ? ? ? ? ? for(var i=0;i<j.length;i++){? ? ? ? ? ? ? ? if(j.charAt(i)>6 || j.charAt(i)<1){? ? ? ? ? ? ? ? ? ? alert("越界,請重新輸入!");? ? ? ? ? ? ? ? ? ? document.getElementById("wb").value="";? ? ? ? ? ? ? ? }? ? ? ? ? ? }? ? ? ? ? ? ? ? for(var n=0;n<j.length;n++){? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? hobby[(j.charAt(n))-1].checked=true;?? ? ? ? ? ? ? ? }? ? ? ? ? ??? ? ? ? ? ??? ? ? ? }? ? ? ??? ? ? ? </script>? ? </body></html>
查看完整描述

2 回答

?
qq_青棗工作室_0

TA貢獻446條經驗 獲得超754個贊

他這個是多選的,所以你文本框里可以填寫123456表示全選,填寫123表示選擇前面三個。

那最后一個for循環就是把你填寫的123456里的每一個數字對應的復選框選中。他要把你輸入的每個字符都遍歷一次。

查看完整回答
1 反對 回復 2016-04-18
  • 想要飛的魚兒
    想要飛的魚兒
    我知道這個意思,我不理解的是 hobby[(j.charAt(n))-1].checked=true; ,假如輸入的是3,那豈不是第1,2,3個框都被選中了?可事實選中的是j 作為下標的框
  • qq_青棗工作室_0
    qq_青棗工作室_0
    輸入3就是遍歷3啊。輸入"146"就是遍歷1,4,6。他是按輸入的每個字符來看的。
  • qq_青棗工作室_0
    qq_青棗工作室_0
    j就是你輸入的值。例如:j="146",那j.charAt(n)就是把1,4,6逐個取出來,再把第1個,第4個,第6個選框選中
?
想要飛的魚兒

TA貢獻2條經驗 獲得超0個贊

也就是最后一個函數的最后一個for循環


查看完整回答
反對 回復 2016-04-18
  • 2 回答
  • 0 關注
  • 1223 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號