select 下拉框搜索实现模糊查询 的两种实现方法(h5标签实现、js实现)

方法一(h5 datalist标签实现)

效果

不输入时
在这里插入图片描述
输入1:
在这里插入图片描述
输入2:
在这里插入图片描述

code

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META content="deel" name=Author>
<title>动态提示的下拉框</title>
<style>
 
</style>
</head>
<body onload="Init()">
<center>
<h2>动态提示的下拉框</h2>
<hr>
<form name=newform>
<table>
  <tr>
    <td>请输入1或2或3或4或5进行测试:
    <input list="aaa" style="width:100px" size=10  autocomplete="off">
  <datalist id="aaa" style="width:100px" size=10 >
    <option value="1">
    <option value="12">
    <option value="123">
    <option value="1234">
    <option value="2">
    <option value="23">
    <option value="234">
    <option value="2345">
  </datalist>
</td>
  </tr>
 </form>
</table>
<hr>
</body>
方法二(js+select标签实现)
效果

不输入时:
在这里插入图片描述
输入23:
在这里插入图片描述

code

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META content="deel" name=Author>
<title>动态提示的下拉框</title>
<style>
 
</style>
</head>
<body onload="Init()">
<center>
<h2>动态提示的下拉框</h2>
<hr>
<form name=newform>
<table>
  <tr>
    <td>请输入1或2或3或4或5进行测试:<br><input name="txtPlace" style="width:100px" onkeyup="SelectTip(0)"> </td>
  </tr>
  <tr>
    <td>
<span id="myselect">  <select name="myselect" style="width:100px" size=10 onchange="txtPlace.value=options[selectedIndex].text;" id="sq2" >
    <option value="1">1</option>
    <option value="12">12</option>
    <option value="123">123</option>
    <option value="1234">1234</option>
    <option value="2">2</option>
    <option value="23">23</option>
    <option value="234">234</option>
    <option value="2345">2345</option>
</span>    </select>
    </td>
  </tr>
 </form>
</table>
 
 
<hr>
<td>
 
<script language="javascript">
var TempArr=[];//存贮option
 
function Init(){
var SelectObj=document.newform.elements["myselect"]
/*先将数据存入数组*/
with(SelectObj)
    for(i=0;i<length;i++)TempArr[i]=[options[i].text,options[i].value]
}
 
function SelectTip(flag){
var TxtObj=document.newform.elements["txtPlace"]
var SelectObj=document.getElementById("myselect")
var Arr=[]
with(SelectObj){
    var SelectHTML=innerHTML.match(/<[^>]*>/)[0]
    for(i=0;i<TempArr.length;i++)
    if(TempArr[i][0].indexOf(TxtObj.value)!=-1||flag)//数组中若找到输入的内容,添option。若flag为true,对下拉框初始化
    Arr[Arr.length]="<option value='"+TempArr[i][1]+"'>"+TempArr[i][0]+"</option>"
    innerHTML=SelectHTML+Arr.join()+"</SELECT>"
}
}
</script>
</body>
  • 10
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值