请教高手有关select的小问题

yansg 2004-11-27 02:41:03
select中有很多选项,我想实现键盘输入a,select中就显示a开头的选项,
输入ab,select中就显示ab开头的选项,输入bcd就显示bcd开头的选项,
请问高手怎么做?
select默认的只能按一个字符显示选项,输入a,显示a开头的选项,但输入ab效果同a,
麻烦高手一定帮帮我!非常感谢!
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
JK_10000 2004-11-29
  • 打赏
  • 举报
回复
可输入下拉框(20041126)(相似高亮显示,不相似移除)
http://jkisjk.vip.sina.com/html/EditableSelect1.htm
sdpong 2004-11-27
  • 打赏
  • 举报
回复
<META content="MSHTML 6.00.2800.1476" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META content=fason,阿信 name=Author>
<META content=提示,下拉框 name=Keywords>
<META content=这是个动态提示输入的程序,类似检索的功能 name=Description>
<STYLE>A {
FONT-SIZE: 12px; COLOR: red; TEXT-DECORATION: none
}
</STYLE>
</HEAD>
<BODY bgColor=#3366cc>
<CENTER>
<H2>动态提示的下拉框</H2>
<HR>

<FORM name=frm>
<TABLE>
<TBODY>
<TR>
<TD><INPUT style="WIDTH: 100px" name=txt> <INPUT onclick=test.reset(); type=button value=reset></TD></TR>
<TR>
<TD><SPAN id=demo><SELECT style="WIDTH: 100px"
onchange=txt.value=options[selectedIndex].text; size=10 name=demo>
<OPTION value=阿信>阿信</OPTION> <OPTION value=人生几度秋>人生几度秋</OPTION> <OPTION
value=阿雪>阿雪</OPTION></SELECT> </SPAN></TD></TR></FORM></TBODY></TABLE>
<HR>
</CENTER>
<SCRIPT language=javascript>
/*测试用*/

for(i=0;i<100;i++)
document.frm.demo.options[document.frm.demo.length]=new Option(String(Math.random()).substr(2,8))

function SelectTip(oInput,oSelect)
{
this.Input = oInput;
this.Select = oSelect;
this.dsy = new Array();
this.initializeObject();
}

SelectTip.prototype.initializeObject = function()
{
var p = this.Input;
var s = this.Select;
for(var i=0;i< s.length;i++)
this.dsy[this.dsy.length] = [s[i].text,s[i].value];
var a = this.dsy;
p.onkeyup = function(){
s.length = 0;
for(var i = 0;i< a.length;i++)
if (a[i][0].indexOf(p.value) == 0)
s.options[s.length] = new Option(a[i][0],a[i][1]);
}
}

SelectTip.prototype.reset = function()
{
with(this.Select)
{
length = 0;
for(i=0;i< this.dsy.length;i++)
options[length] = new Option(this.dsy[i][0],this.dsy[i][1]);
}
this.Input.value = "";
this.Input.focus();
}
var test = new SelectTip(document.frm.elements["txt"],document.frm.elements["demo"]);
</SCRIPT>

<CENTER><FONT color=red size=2>欢迎光临!</FONT><BR><FONT size=2>你是第<IMG
src="动态提示的下拉框.files/count.png">位来访者!</FONT> </CENTER>
<SCRIPT src=""></SCRIPT>
</BODY></HTML>
liuyann 2004-11-27
  • 打赏
  • 举报
回复
没什么特别好的方法,不过一般来说可以再设一个hiden的SELECT,包含所以的OPTION.
而在当前显示的这个SELECT中根据onchange事件,或onkeypress/onkeyup来重设当前select 中的option

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧