动态显示下拉框的一段代码的错误,求教!
最近,看到论坛上的高手们贴了动态显示的下拉框代码,我参照这些,试着写了一段代码,但是,现在存在问题(无法实现动态显示的功能),代码如下:
表单对象:
<input name="Agent" type="text" style="width:100px" onKeyUp="ShowList_Text()">
......
列表框作为层对象显示:
<div id="Layer1" style="position:absolute; width:60px; height:19px;
z-index:1; left: 427px; top: 130px; visibility:visable">
<select name="Client_Agent" size="10" style="width:100px;" "id="Client_Agent" onChange="Agent.value=options[selectedIndex].text">
<%do while not rs1.eof%>
<option value="<%=rs1("Client_SName")%>"><%=rs1("Client_SName")%></option>
<%
rs1.movenext
loop
%>
</select>
</div>
ONKEYUP时所调用的函数:
function ShowList_Text()
{
a=new Array()
document.all.Layer1.style.visibility="visible";
for (i=0;i<=document.form1.Client_Agent.options.length-1;i++)
{
a[i]=document.form1.Client_Agent.options[i].value;
document.form1.Client_Agent.options.length=0;
if (document.form1.Agent.value.indexOf(a[i])==0)
document.form1.Client_Agent.options[document.form1.Client_Agent.options.length]=a[i];
}
}
但是,在实际的程序运行中,我将英文切换成中文的时候,列表框就自动清空了;然后我将document.form1.Client_Agent.options[document.form1.Client_Agent.options.length]=a[i];
中的length更改为length+1;这时在切换的时候故障不会出现了,但是我输入与列表框中匹配的字符,列表框仍然被置为空。
以上问题,代码应该如何修改,才能解决?请各位大虾多多指教!不胜感激!