Re: [ JS ] JavaScript + 下拉式選單的問題??
※ 引述《TonyQ (骨頭)》之銘言:
: ※ 引述《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; //(乙)
這個方法可以,如下所示:
else if(RET == 1)
{
options.length = 10;
for(var i=0; i< 10; i++)
options[i] = new Option(i+1);
}
: 設了length之後 後面如果有多的會自己刪掉
: 不然我記得把options[i]=null也會有同樣效果
這個不行!!
: : 2. 第二個問題是:當我選擇乙的時後,按下Refresh(重新整理),第一個下拉式選單還是
: : 會停留在乙,可是,直接按下第二個選單的時後,卻不會出現乙應該出現的1~20。反而要
: : 先選擇甲或丙,才會出現正常的數值。還有就是我希望當User按下Refresh的時後,兩個
: : 選單都回覆到0的狀態,而不是第一個下拉式選單還停留在上一個的狀態。請問這個Bug該
: : 怎麼改??
: body onload的時候去把下拉式選單歸0
<body OnLoad="RRR()">
function RRR()
{
with(document.PID)
{
AAA.selectedIndex = 0;
BBB.selectedIndex = 0;
}
return;
}
多謝了!!瞭解!!
--
◢ _▃_ 老婆,我下班回來了,還買了禮物要... ╔═════════════╗
█ 囧 老婆,我下班回來了,還買了禮物要... ║ ║
] /■\ 老婆,我下班回來了,還買了禮物要... ║ 門的另一端,世界的真實 ║
█ || ︵︵bβ 技術不錯嘛!"○ ○" 哇啊~好緊! ║ ║
◤◥◣◥◣ (|\ )) -(啪~啪!) ║ @ Pablo Picasso G. ║
◥██◣ (噗滋!噗滋!)-/`○r27\"-(啊~喔~嗯~)╚═════════════╝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.120.99.162
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章