• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > JS Select下拉框(支持输入模糊查询)

JS Select下拉框(支持输入模糊查询)

作者:hanchuang213 字体:[增加 减小] 来源:互联网 时间:2017-05-11

hanchuang213通过本文主要向大家介绍了js select下拉框,js select,js select选中值,js select选中事件,js select事件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例为大家分享了支持输入模糊查询的Select下拉框,供大家参考,具体内容如下

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Insert title here</title> 
 <Script Language="Javascript"> 
  
  function SelectValue(obj) 
 {  
  document.all.box2.value = obj.options[obj.selectedIndex].text; 
 } 
  var j = 0; 
  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> 
</head> 
<body> 
  
  <TABLE border=0 cellPadding=1 cellSpacing=0 width="100%"> 
   <TR>  
    <TD width="24%"><font face="Arial" size="2">查询</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 >ALL</OPTION> 
       <OPTION >管理者1</OPTION> 
       <OPTION >管理者2</OPTION> 
       <OPTION >管理者3</OPTION> 
       <OPTION >业务员3</OPTION> 
       <OPTION >业务员3</OPTION> 
       <OPTION >13</OPTION> 
       <OPTION >103</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="" >  
     <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> 
  
</body> 
</html> 


</div>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JS Select下拉框(支持输入模糊查询)
  • JS中Select下拉列表类(支持输入模糊查询)功能

相关文章

  • 2017-05-11Jquery获取radio选中的值
  • 2017-08-31js基础keycode表
  • 2017-05-11JS对象深度克隆实例分析
  • 2017-05-11vue实现ToDoList简单实例
  • 2017-05-11JavaScript实现的商品抢购倒计时功能示例
  • 2017-05-11js 函数式编程学习笔记
  • 2017-05-11bootstrap fileinput 上传插件的基础使用
  • 2017-05-11jQuery实现鼠标悬停3d菜单展开动画效果
  • 2017-05-11vuejs指令详解
  • 2017-05-11yii form 表单提交之前JS在提交按钮的验证方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • javascript数组去重常用方法实例分析
    • JavaScript原生编写《飞机大战坦克》游戏完整实例
    • 深入理解javascript的getTime()方法
    • 使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
    • javascript防篡改对象实例详解
    • jQuery点击头像上传并预览图片
    • jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
    • nodejs+express实现文件上传下载管理网站
    • 简单实现js选项卡切换效果
    • JS实现针对给定时间的倒计时功能示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有