Select下拉框模糊查询功能实现代码
来源: 阅读:2565 次 日期:2016-07-29 15:12:05
温馨提示: 小编为您整理了“Select下拉框模糊查询功能实现代码”,方便广大网友查阅!

select下拉列表框支持输入模糊查询功能,设计非常的人性化,下面小编给大家分享了关键代码,大家根据自己的需求适当的添加修改,有任何问题欢迎给我反馈。

关键代码如下所示:

<HTML>

<HEAD>

<META http-equiv='Content-Type' content='text/html; charset=gb2312'>

<TITLE>可输入的下拉框</TITLE>

</HEAD>

<BODY >

<Script Language="Javascript">

var j = 0;

function SelectValue(obj)

{

var input = obj.parentNode.nextSibling;

document.all.box2.value = obj.options[obj.selectedIndex].text;

document.getElementById("txtSection").value=obj.options[obj.selectedIndex].value;

alert(document.getElementById("txtSection").value);

}

function InputValue(obj)

{

var n = 1;

var tmpObj;

var src = document.all.SelectOption;

var msg = document.all.msg;

if(event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13){

if(obj.value!=""){

msg.style.display="";

msg.innerHTML="";

if(msg.hasChildNodes())

{

msg.childNodes[0].parentNode.removeChild(msg.childNodes[0]);

}

for (var i=0;i<src.length;i++){

var selValue = document.createElement("div");

var selText = document.createElement("div");

selText.value = src(i).value;

selText.innerHTML = src(i).text;

if (src(i).text.toLowerCase().indexOf(obj.value.toLowerCase())==0){

selText.setAttribute("id","selText"+n);

selText.onmouseover=function (){

this.style.backgroundColor='#003399';

this.style.color ='#ffffff';

}

selText.onmouseout=function (){

this.style.backgroundColor='#ffffff';

this.style.color ='#000000';

}

selText.onclick=function (){

document.all.box2.value = this.innerHTML;

msg.style.display="none";

document.getElementById("txtSection").value=this.value;

}

msg.appendChild(selText);

n++;

}

}

}

else {

document.all.msg.style.display="none";

}

}

else {

//press down key

if(event.keyCode==40){

j++;

for (var i=0; i<src.length; i++)

{

tmpObj = document.getElementById("selText"+i);

if(tmpObj != null){

tmpObj.style.backgroundColor='#ffffff';

tmpObj.style.color ='#000000';

}

}

tmpObj = document.getElementById("selText"+j);

if(tmpObj != null){

tmpObj.style.backgroundColor='#003399';

tmpObj.style.color ='#ffffff';

}else{

j = 0;

}

}

//press up key

if (event.keyCode==38){

j--;

for (var i=0; i<src.length; i++)

{

tmpObj = document.getElementById("selText"+i);

if(tmpObj != null){

tmpObj.style.backgroundColor='#ffffff';

tmpObj.style.color ='#000000';

}

}

tmpObj = document.getElementById("selText"+j);

if(tmpObj != null){

tmpObj.style.backgroundColor='#003399';

tmpObj.style.color ='#ffffff';

}else{

j = 2;

}

}

//press enter key

if (event.keyCode==13){

tmpObj = document.getElementById("selText"+j);

document.all.box2.value = tmpObj.innerHTML;

msg.style.display="none";

document.getElementById("txtSection").value=tmpObj.value;

}

}

}

function SelMatch(src)

{

var currSel = document.all.box2.value;

for (var i=0;i<src.length;i++){

if (src(i).text==currSel)

{

src.options(i).selected = true;

}

}

}

function NoMsg()

{

if(document.activeElement.id=="msg")

return false;

else

document.all.msg.style.display='none';

}

</Script>

<TABLE border=0 cellPadding=1 cellSpacing=0 width="100%">

<TR>

<TD width="24%"><font face="Arial" size="2">Section</font></TD>

<TD COLSPAN=3 width="76%">

<div style="position:relative;">

<span style="margin-left:230px;width:18px;overflow:hidden;">

<select style="HEIGHT: 22px; WIDTH: 250px; margin-left:-232px;" onchange="SelectValue(this)" onclick="SelMatch(this)" id="SelectOption" name="SelectOption" >

<OPTION value='ALL' Selected>ALL</OPTION>

<OPTION value='0TEST1'>0TEST1 = Testing 1

<OPTION value='0TEST1'>0TEST2 = Testing 1

<OPTION value='0TEST1'>0TEST3 = Testing 1

<OPTION value='SECTION'>SECTION = Section Description XXXXX AAA

</OPTION>

</select></span>

<input name="box2" id="box2" style="width:230px;position:absolute;left:0px;" onkeyup="InputValue(this)" onblur="NoMsg()" onfocus="this.select();InputValue(this)" value="0" >

<div id="msg" style="border:1px solid green; font-size :14PX;white-space:nowrap;overflow:hidden;

width:230px;position:absolute;left:0px;top:20px;display:none"></div>

</div>

<Input Type="Hidden" Name="txtSection" id="txtSection">

</TD>

</TR>

</TABLE>

<p>

</BODY></HTML>

以上所述是小编给大家介绍的Select下拉框模糊查询功能实现代码,希望对大家有所帮助

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map