Re: [ JS ] JavaScript + 下拉式選單的問題??

看板Ajax作者 (骨頭)時間17年前 (2008/01/12 08:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《PICASSO1 (Pablo Picasso G.)》之銘言: : Browser: FireFox : Language: HTML, JavaScript : 原始碼如下: : <!-- Main.HTML --> : <html> : <head><title>哇~哈~哈~哈~哈~~~</title> : <script language="JavaScript" src="JS.js"><!-- //--></script> : </head> : <body> : <center> : <form name="PID" mothed=POST> : <select name="AAA" OnChange="Show(this.options.selectedIndex)"> : <option value="A">---</option> : <option value="B">甲</option> : <option value="C">乙</option> : <option value="D">丙</option> : </select> : <br><br><br> : <select name="BBB">---</select> : </form> : </center> : </body> : </html> : // JS.js : function Show(RET) : { : with(document.PID.BBB) : if(RET == 0) : { : options[0] = new Option("---", "---"); : return; : } : else if(RET == 1) : { : for(var i=0; i< 10; i++) : options[i] = new Option(i+1); : /* for( ; i< 30; i++) : options[i] = new Option(); */ : } : else if(RET == 2) : { : for(var i=0; i< 20; i++) : options[i] = new Option(i+1); : /* for( ; i< 30; i++) : options[i] = new Option(); */ : } : else /* if(RET == 3) */ : { : for(var i=0; i< 30; i++) : options[i] = new Option(i+1); : /* for( ; i< 30; i++) : options[i] = new Option();*/ : } : return; : } : 我想請問一下, : 1. 當我依序選擇甲、乙、丙的時後,可以正常顯示1~10、1~20、1~30;可是當我從反方 : 向選擇的時後(丙、乙、甲),卻都只出現1~30。感覺上有點像是當我先選擇丙,再選擇乙 : 的時後、後面的21~30沒有把它清掉;再選擇甲,後面的11~30又沒把它清掉。我有想到 : *.JS檔裡註解的部份,可是如此一來甲和乙的下拉式選單會變得很醜,會多一大堆沒用的 : 空白,請問這該怎麼改比較好?? 把註解的地方改成像下面這樣 options.length=10; //(甲) options.length=20; //(乙) 設了length之後 後面如果有多的會自己刪掉 不然我記得把options[i]=null也會有同樣效果 : 2. 第二個問題是:當我選擇乙的時後,按下Refresh(重新整理),第一個下拉式選單還是 : 會停留在乙,可是,直接按下第二個選單的時後,卻不會出現乙應該出現的1~20。反而要 : 先選擇甲或丙,才會出現正常的數值。還有就是我希望當User按下Refresh的時後,兩個 : 選單都回覆到0的狀態,而不是第一個下拉式選單還停留在上一個的狀態。請問這個Bug該 : 怎麼改?? body onload的時候去把下拉式選單歸0 --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.no-ip.info -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.59.247
文章代碼(AID): #17Y0KGys (Ajax)
文章代碼(AID): #17Y0KGys (Ajax)