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

看板Ajax作者 (Pablo Picasso G.)時間17年前 (2008/01/12 00:16), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/3 (看更多)
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檔裡註解的部份,可是如此一來甲和乙的下拉式選單會變得很醜,會多一大堆沒用的 空白,請問這該怎麼改比較好?? 2. 第二個問題是:當我選擇乙的時後,按下Refresh(重新整理),第一個下拉式選單還是 會停留在乙,可是,直接按下第二個選單的時後,卻不會出現乙應該出現的1~20。反而要 先選擇甲或丙,才會出現正常的數值。還有就是我希望當User按下Refresh的時後,兩個 選單都回覆到0的狀態,而不是第一個下拉式選單還停留在上一個的狀態。請問這個Bug該 怎麼改?? -- ╭人真好,我去看電視 ╭ 幹.... _▃_ 啊~啊~啊~ \●/要幫我修好喔~ " 好人修慢一點喔!! \Λ ] /\ (|\ ╭啊~~喔~~嗯~~ <\ > || β /`○rz ◣◥ 女生都把好人當[工具] 把壞人當[陽具]了啊 幹!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.120.114.82

01/12 01:50, , 1F
1.Show()每次執行都要重新產生options啦
01/12 01:50, 1F

01/12 01:53, , 2F
2. 網頁load完再用script去調阿
01/12 01:53, 2F
文章代碼(AID): #17XvPOis (Ajax)
文章代碼(AID): #17XvPOis (Ajax)