JS中Select下拉列表类(支持输入模糊查询)功能
发布时间 - 2026-01-10 22:34:27 点击率:次下面给大家分享一段代码关于select下拉列表类支持输入模糊查询功能的实现代码,具体代码如下所示:
<span style="font-size:14px;"> <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>
</span>
以上所述是小编给大家介绍的JS中Select下拉列表类(支持输入模糊查询)功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# select下拉列表
# JS实现模糊查询带下拉匹配效果
# AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
# Node.js对MongoDB数据库实现模糊查询的方法
# JS Select下拉框(支持输入模糊查询)
# js模糊查询实例分享
# JS中的模糊查询功能
# 给大家
# 小编
# 在此
# 所示
# 所述
# 给我留言
# 感谢大家
# 查询功能
# 疑问请
# 有任何
# 下拉框
# InputValue
# tmpObj
# SelectOption
# alert
# msg
# event
# src
# keyCode
# document
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
网站图片在线制作软件,怎么在图片上做链接?
怎么用AI帮你设计一套个性化的手机App图标?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
如何在建站之星绑定自定义域名?
如何撰写建站申请书?关键要点有哪些?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
佛山网站制作系统,佛山企业变更地址网上办理步骤?
如何为不同团队 ID 动态生成多个非值班状态按钮
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
教你用AI润色文章,让你的文字表达更专业
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何在万网主机上快速搭建网站?
jQuery 常见小例汇总
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
原生JS实现图片轮播切换效果
西安专业网站制作公司有哪些,陕西省建行官方网站?
网站建设整体流程解析,建站其实很容易!
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Laravel如何处理文件下载请求?(Response示例)
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Linux系统运维自动化项目教程_Ansible批量管理实战
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
JS中对数组元素进行增删改移的方法总结
活动邀请函制作网站有哪些,活动邀请函文案?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
如何快速搭建个人网站并优化SEO?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
微信小程序 input输入框控件详解及实例(多种示例)
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
,南京靠谱的征婚网站?
WordPress 子目录安装中正确处理脚本路径的完整指南
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
微信小程序 配置文件详细介绍
深圳网站制作的公司有哪些,dido官方网站?
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
上一篇: 音乐频谱制作网站推荐大全,有没有什么软件可以显示电脑播放音
下一篇:手机改名方法一学就会
上一篇: 音乐频谱制作网站推荐大全,有没有什么软件可以显示电脑播放音
下一篇:手机改名方法一学就会

