如题,其实就是在在下拉框上输入字,option中和第一个字和这个字相同的就下拉出来或者像google那样

解决方案 »

  1.   

    ajax,当value发生改变(change)的时候进行ajax异步提交请求(相当于超链或者form表单的提交,不过页面不刷新),在后台进行模糊查询,然后将结构返回给js,js根据结构生成div列在下面
      

  2.   

    代码太多了,给你讲下思路吧------1  服务器端准备好数据 如:
           <li>java </li>
            <li> javaDoc </li>
    ------2  客户端监听文本框的值变化  如果变化了 AJAX发送请求------3  服务器端
             遍历准备好的数据  通过indexOf("文本框的值") 操作 过滤掉数据 然后重新拼装如1的形式
    ------4  客户端
             将返回的<li> </li>的数据 插入到客户端的<ul><ul>下面  然后显示在文本框下面   
      

  3.   

    先说那么多没用啊
    你首先得做一个模拟select的js插件对不对(这个我已经做过了)? 
    然后再你模拟的这个select中加入数据,同步的异步的都无所谓。当这个模拟的select的文本框值发生变化的时候你在去更新相应的信息..
      

  4.   


    这是我找到的,但是它不是一个下拉框,谁能把它变成标准的下拉框也行,输入模糊查询的时候底下出符合条件的下拉就行,功能基本和这个差不多就可以<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>