自己写了个过滤的.
如果是中文的话,应该先转换.<script>
function Filteropts()
{
    var opart,astr,alen,opln,i,boo;
    boo = false;
    var result = new Array();
    var opts = document.all.sel1clone.options;
    opln = opts.length;
    astr = document.all.txt1.value.toLowerCase();
    alen = astr.length;
    if(alen == 0)
    {
        for(i=0;i<opln;i++)
        {
              result[result.length] = opts[i];boo = true;
        }
    }
    else
    {
        for(i=0;i<opln;i++)
        {
             opart = opts[i].text.toLowerCase().substring(0,alen)
             if(astr == opart)
             {
                   result[result.length]=opts[i];boo=true;
             }
        }
    }
     if(!boo){result[0] = ""}
     return result;
}
function bao()
{
    var opts = document.all.sel1.options;
    arr = Filteropts();
    opts.length=0;
    for(var i=0;i<arr.length;i++)
    {
        opts[opts.length] = new Option(arr[i].text,arr[i].value);
    }
}
</script> 
<!--过滤显示-->
<input type="text" name="txt1" onkeyup="bao()">
<select name="sel1">
<option>123456
<option>234565
<option>345676
<option>356883
<option>456698
</select>
<!--源数据-->
<select name="sel1clone" style="display:none">
<option>123456
<option>234565
<option>345676
<option>356883
<option>456698
</select>
</body>
</html>

解决方案 »

  1.   

    中文,原理是一样的.
    只是,一开始的,要选把中文转成首字拼音Js中实现拼音和UrlEncode的功能(利用GB和Unicode对照表)     qiushuiwuhen [原作] 
    http://dev.csdn.net/develop/article/15/15043.shtm<script>
    function Filteropts()
    {
        var opart,astr,alen,opln,i,boo;
        boo = false;
        var result = new Array();
        var opts = document.all.sel1clone.options;
        opln = opts.length;
        astr = document.all.txt1.value.toLowerCase();
        alen = astr.length;
        if(alen == 0)
        {
            for(i=0;i<opln;i++)
            {
                  result[result.length] = opts[i];boo = true;
            }
        }
        else
        {
            for(i=0;i<opln;i++)
            {
                 opart = opts[i].value.toLowerCase().substring(0,alen)
                 if(astr == opart)
                 {
                       result[result.length]=opts[i];boo=true;
                 }
            }
        }
         if(!boo){result[0] = ""}
         return result;
    }
    function bao()
    {
        var opts = document.all.sel1.options;
        arr = Filteropts();
        opts.length=0;
        for(var i=0;i<arr.length;i++)
        {
            opts[opts.length] = new Option(arr[i].text,arr[i].value);
        }
    }
    </script> 
    <!--过滤显示-->
    <input type="text" name="txt1" onkeyup="bao()">
    <select name="sel1">
        <option value="zjmz">专家门诊
        <option value="wddfwt">我的得分问题
        <option value="wdwt">我的问题
        <option value="wdj">我的家
    </select>
    <!--源数据-->
    <select name="sel1clone" style="display:none">
        <option value="zjmz">专家门诊
        <option value="wddfwt">我的得分问题
        <option value="wdwt">我的问题
        <option value="wdj">我的家
    </select>
    </body>
    </html>
      

  2.   

    这是我写的一个“模仿自动索引”功能的代码!
    <html>
    <head>
    <title>选择关键字</title>
    <script language="javascript">
    /*
      功能介绍
      选中select控件中的目标关键字
    */
       function getKeywords()
       {
        var sourceStr;
    sourceStr=document.all.keyword.value;
        var showIndex=getShowIndex(sourceStr);
        if(showIndex=='-1'){
         alert("系统里没有这个关键字,请更选用其他!");
     document.all.keyword.value="";
    }else{
                 document.all.KeywordList[showIndex].selected=true;
    // document.all.keyword.value=document.all.KeywordList[showIndex].value;
    }
       }
       /*功能介绍:
         输入参数:待查找字符串sourceStr
     返回参数:目标字符串的下标值
       */
       function getShowIndex(sourceStr){
        var targetStr;
    var length=document.all.KeywordList.length;
    var tempIndex;
    var lastIndex='-1';
        for(var i=0;i<length;i++){
                      targetStr=document.all.KeywordList[i].value;
      tempIndex=targetStr.indexOf(sourceStr);
      //如查查找位置大于0则继续搜索,看有没有最前的
      if(tempIndex>'0') {
      lastIndex=i;
      continue;
      }
                      if(tempIndex=='0'){
     lastIndex=i;
       break;
       }
        }
            return lastIndex;
       }
      
      /*
        重新选择功能,清除已经选中的关键字
      */
        function resetKeywordValue(){
        document.all.keyword.value="";
    document.all.KeywordList[0].selected=true;
    }    function setKeywordValue(kValue){
        document.all.keyword.value=kValue;
    }
      </script>
     <link href="<%=rootpath%>/etc/css/main.css" type=text/css rel=stylesheet>
    </head>
    <body>
    <table width="248" border="0" cellspacing="2" cellpadding="2" height="200">
      <tr>     
        <td width=1>&nbsp; </td>  
        <td width=232>键入要查找关键字的头几个汉字 </td>
      </tr>
        <tr>     
        <td width=1>&nbsp; </td>  
        <td width=235> 
          <input type="text" name="keyword" size="30" class="inputText" onkeyup="getKeywords()">
        </td>
      </tr>
      <tr>     
        <td width=1>&nbsp; </td>  
        <td width=232>关键字资源列表,可直接选择 </td>
      </tr>
      <tr>
        <td width=1>&nbsp; </td>
        <td valign="top" width=232> 
          <select name="KeywordList" size="10" style="width:190px" onchange="setKeywordValue(this.value);">
            <option value='开业登记'>开业登记</option>
            <option value='变更登记'>变更登记</option>
            <option value='发票管理'>发票管理</option>
            <option value='登记补录'>登记补录</option>
            <option value='税务登记'>税务登记</option>
            <option value='税务稽查'>税务稽查</option>
          </select>
        </td>
      </tr>
      <tr>
        <td width=1>&nbsp; </td>
        <td valign="top" width=232> 
          <input type="button" name="ok" value="确定" class="input_ok" >&nbsp;&nbsp;<input type="button" name="reset" value="重选" class="input_de" onclick="resetKeywordValue()">
        </td>
      </tr>
      </table>
      </body>
      

  3.   

    JSP页面中好像不可以用
    郁闷
      

  4.   

    哦的做法就是小于几百条之内的,让用户直接选择,大于此值是就disabled下拉框,让用户搜索,搜索的值填充select
      

  5.   

    <style>
    .a3{width:30;border:0;text-align:center}
    </style><div style="border-width:1;border-color:balck;border-style:solid;width:120;font-size:9pt">
    <input type=text name=year maxlength=4 class=a3>-
    <input type=text name=month maxlength=2 class=a3>-
    <input type=text name=day maxlength=2 class=a3>
    </div>
    自己把楼上的事件了搬过来改改就搞定了 ^^