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

為了賬號安全,請及時綁定郵箱和手機立即綁定

算法大佬們看看還有什么更好的寫法沒?

<!DOCTYPE HTML>
<html>
??? <head>
??????? <meta http-equiv="Content-Type" content="text/html; charset=utf8">
??????? <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++){
?????????? ??? ??? ?if(hobby[i].type=="checkbox"){
??????????????????? hobby[i].checked=true;? ?
??????????????????? }????????????? ?
??????????????? }
??????????? }// 任務1? ?
??????? function clearall(){
??????????? var hobby = document.getElementsByName("hobby");
??????????? for (i=0;i<hobby.length;i++) {
?????????? ??? ?if (hobby[i].type=="checkbox") {
?????????? ??? ??? ?hobby[i].checked=false;
?????????? ??? ?}
??????????? }
???????? // 任務2?? ?
??????? }
?????? ?
??????? function checkone(){
??????????? var j=document.getElementById("wb").value;
??????????? 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;
??????????? }??? // 任務3?
??????? }
????? ?
??????? </script>
??? </body>
</html>

正在回答

4 回答

如果從name獲取元素,就不用if判斷了,只有復選的name是"hobby"。最后一個函數:function checkone(){
??????????? var j=document.getElementById("wb").value;
??????????? document.getElementById("hobby"+j).checked=true;

輸入j,就該ID"hobbyj"的屬性,這樣寫更簡單。

1 回復 有任何疑惑可以回復我~
#1

__Leo__ 提問者

非常感謝!厲害了兄得
2018-08-02 回復 有任何疑惑可以回復我~

你的函數沒有調用,所以沒出現效果,

0 回復 有任何疑惑可以回復我~

任務二不需要判斷

? ? ? ? function clearall(){

? ? ? ? ? ? var hobby = document.getElementsByName("hobby");

? ? ? ? ?// 任務2?

? ? ? ? ? ?for(var i=0;i<hobby.length;i++){

? ? ? ? ? ? ? ? ? hobby[i].checked=false;

? ? ? ? ? ?}

? ? ? ? }

以及?document.getElementById("hobby"+j).checked=true; 已經有大佬說過了。?


0 回復 有任何疑惑可以回復我~
#1

__Leo__ 提問者

恩 謝謝 任務2那個我知道 因為是第一次學 系統就是為了讓熟悉ByName和ByTagName 所以我就沒改
2018-08-03 回復 有任何疑惑可以回復我~
function?checkone(){
????????????var?j=document.getElementById("wb").value;
?????????//?任務3
????????????var?i?=?j?-?1;
????????????hobby[i].checked?=?true;
????????}


0 回復 有任何疑惑可以回復我~
#1

慕娘1945682

要加上 var hobby =document.getElementsByName("hobby");才能實現
2018-09-02 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

算法大佬們看看還有什么更好的寫法沒?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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