作者PICASSO1 (Pablo Picasso G.)
看板Ajax
标题Re: [ JS ] JavaScript + 下拉式选单的问题??
时间Sat Jan 12 16:18:22 2008
※ 引述《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