求一个可以像文本框输入又带模糊查询的下拉框js 如题,其实就是在在下拉框上输入字,option中和第一个字和这个字相同的就下拉出来或者像google那样 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ajax,当value发生改变(change)的时候进行ajax异步提交请求(相当于超链或者form表单的提交,不过页面不刷新),在后台进行模糊查询,然后将结构返回给js,js根据结构生成div列在下面 代码太多了,给你讲下思路吧------1 服务器端准备好数据 如: <li>java </li> <li> javaDoc </li>------2 客户端监听文本框的值变化 如果变化了 AJAX发送请求------3 服务器端 遍历准备好的数据 通过indexOf("文本框的值") 操作 过滤掉数据 然后重新拼装如1的形式------4 客户端 将返回的<li> </li>的数据 插入到客户端的<ul><ul>下面 然后显示在文本框下面 先说那么多没用啊你首先得做一个模拟select的js插件对不对(这个我已经做过了)? 然后再你模拟的这个select中加入数据,同步的异步的都无所谓。当这个模拟的select的文本框值发生变化的时候你在去更新相应的信息.. 这是我找到的,但是它不是一个下拉框,谁能把它变成标准的下拉框也行,输入模糊查询的时候底下出符合条件的下拉就行,功能基本和这个差不多就可以<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><META content="fason,阿信" 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">一飞冲天</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> <option value="3">3</option> <option value="34">34</option> <option value="345">345</option> <option value="3456">3456</option> <option value="5">5</option> <option value="51">51</option> <option value="51w">51w</option> <option value="51wi">51wi</option> <option value="51win">51win</option> <option value="51windows">51windows</option></span> </select> </td> </tr> </form></table><hr><td><script language="javascript">var TempArr=[];//存贮optionfunction 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)==0||flag)//若找到以txt的内容开头的,添option。若flag为true,对下拉框初始化 Arr[Arr.length]="<option value='"+TempArr[i][1]+"'>"+TempArr[i][0]+"</option>" innerHTML=SelectHTML+Arr.join()+"</SELECT>"}}</script></body> 求正则表达式区别,和详解。简单问题 初学js,第一个例子就碰壁了 用了图片滚动文本框光标闪动速度过快怎么解决呀 自己做网站经常遇见的问题 点击鼠标变化背景图片 请问如何屏蔽掉页面中所有的链接 在线等待... 急 请问,如何判定一个TEXT输入框内的文本是否被全选? 请问:如何能使首页自动加入收藏夹? “没有权限”的问题(我的项目中一个重要的问题) 在MAC苹果机上为什么运行JAVASCRIPT程序总是出错?十万火急! 这段JS代码在火狐中为什么不管用 怎么让他可以输入负数
<li>java </li>
<li> javaDoc </li>
------2 客户端监听文本框的值变化 如果变化了 AJAX发送请求------3 服务器端
遍历准备好的数据 通过indexOf("文本框的值") 操作 过滤掉数据 然后重新拼装如1的形式
------4 客户端
将返回的<li> </li>的数据 插入到客户端的<ul><ul>下面 然后显示在文本框下面
你首先得做一个模拟select的js插件对不对(这个我已经做过了)?
然后再你模拟的这个select中加入数据,同步的异步的都无所谓。当这个模拟的select的文本框值发生变化的时候你在去更新相应的信息..
这是我找到的,但是它不是一个下拉框,谁能把它变成标准的下拉框也行,输入模糊查询的时候底下出符合条件的下拉就行,功能基本和这个差不多就可以<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META content="fason,阿信" 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">一飞冲天</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>
<option value="3">3</option>
<option value="34">34</option>
<option value="345">345</option>
<option value="3456">3456</option>
<option value="5">5</option>
<option value="51">51</option>
<option value="51w">51w</option>
<option value="51wi">51wi</option>
<option value="51win">51win</option>
<option value="51windows">51windows</option>
</span> </select>
</td>
</tr>
</form>
</table>
<hr>
<td><script language="javascript">
var TempArr=[];//存贮optionfunction 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)==0||flag)//若找到以txt的内容开头的,添option。若flag为true,对下拉框初始化
Arr[Arr.length]="<option value='"+TempArr[i][1]+"'>"+TempArr[i][0]+"</option>"
innerHTML=SelectHTML+Arr.join()+"</SELECT>"
}
}
</script>
</body>