不需要都放到数组里
可以使用AJAX

解决方案 »

  1.   

    http://topic.csdn.net/u/20080517/16/7d0ccbe0-54d9-4613-bd20-950c45c1f557.html
    可以看这个我给人解决的一个问题
      

  2.   


    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>标题页</title>
    </head>
    <body>
    <input onkeyup="showtips();if(event.keyCode==27)hideDiv();" id=txt onkeydown='enterTips()'>(如:ZhongGuo)<br/>
    <select id=sel style='display:none' onclick=viewTxt() onkeydown='if(event.keyCode==13)viewTxt()'></select>
    <script>
    var city = new Array("zhongguo","meiguo","yilake","yilang");
    var city2=new Array("中国","美国","伊拉克","伊朗");
    function showtips(){
        obj=event.srcElement;           //获取操作对象
        sel.length=0;                   //列表框的长度
        var len=city.length;             //数组的长度
        var re=new RegExp("^"+obj.value,"i")//正则表达式-搜索用户输入的值
        var j=0
        for(i=0;i<len;i++) 
            if(re.test(city[i])==true){      //如果存在搜索的值
                sel.style.display='';       //显示提示层
                sel.add(new Option(city[i],city2[i]));j++}//提示信息
        sel.size = (j>1)?j:2;
    }function enterTips(){
        e=event.keyCode;
        if(sel.style.display!='none'){      //如果提示层没有隐藏
        if(e==13) event.srcElement.value=sel.value,sel.style.display='none';//回车
        if(e==40) sel.focus();              //使用下箭头时,提示层获得焦点
        }
    }
    function viewTxt(){
        txt.value=sel.value;            //显示选择的内容
        hideDiv()                       //隐藏提示层
    }
    function hideDiv(){
        sel.style.display='none';       //隐藏提示层的显示
        txt.focus()                     //文本框获得焦点
    }
        document.onclick=function(){    //单击窗体时,隐藏提示层
        hideDiv()
    }
    </script>
    </body>
    </html>看看是否符合你的需求
      

  3.   

    谢谢s_liangchao1s,但是我测试时输入"伊"字,没有列出中文的"伊拉克","伊朗"
    请问怎样实现中文的查找??能把代码改一下再发一次吗?
      

  4.   

    <select name="aaa">
    <option>中国</option>
    <option>美国</option>
    </select>
     <input   type="text"   name="Upfile"   id="aaa" onblur="chksize(this.value)"><script type="text/javascript">
    function chksize(a){  var c=document.getElementsByName("aaa")[0].options
      // alert(c.length)
      for(var i=0;i<c.length;i++){
       //alert(c[i].text)
       //alert(c[i].text.substr(0,1))
       //alert(a.substr(0,1))
         if(c[i].text.substr(0,1)==a.substr(0,1)){
         document.getElementsByName("aaa")[0].selectedIndex=i
     }
      }
    }</script>输入"美"字
      

  5.   

    发个以前写的,过滤select的
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>标题页</title>
    <style>
    #tempSel{display:none;position:absolute;}
    body{font-size:10pt;}
    </style>
    </head>
    <body>
    快速定位:<input type="text" id="txtKey" onkeyup="filter(this.value)"/><br />
    <select id="sel"></select>
    <select id="tempSel" multiple="multiple" onchange="$('sel').selectedIndex=this.selectedIndex;this.style.display='none';"></select>
    <script>
    var Arr=new Array("中国","美国","伊拉克","伊朗","美人","高丽棒子","日本","高丽菜","高丽");
    window.onload=function(){
     List(Arr,$("sel"));
     var pos=GetPos($("sel")),tSel=$("tempSel");
     tSel.style.left=pos.x+"px";
     tSel.style.top=pos.y+"px";
    }
    function GetPos(obj)
    {
      var pos=new Object();
      pos.x=obj.offsetLeft;
      pos.y=obj.offsetTop+obj.offsetHeight+2;
      while(obj=obj.offsetParent)
      {
        pos.x+=obj.offsetLeft;
        pos.y+=obj.offsetTop;
      }
      return pos;
    }
    Array.prototype.filter=function(v,IsContains)
    {
      var fArr=new Array();
      if(v.trim()=="")return this;
      else{
       for(var i=0;i<this.length;i++)
        if(!IsContains&&this[i].indexOf(v)==0)fArr.push(this[i]);
        else if(this[i].indexOf(v)!=-1)fArr.push(this[i]);
      }
      return fArr;
    }
    String.prototype.trim=function(reg){if(reg)return this.replace(reg,"");else return this.replace(/^\s*|\s*$/g,"");}
    function $(Id){if(typeof(Id)=="string")return document.getElementById(Id);else return Id;}
    function List(Arr,sel)
    {
      sel.options.length=0;
      for(var i=0;i<Arr.length;i++)sel.options.add(new Option(Arr[i],Arr[i]));
    }
    function filter(v)
    {
      v=v.trim();
      if(v==""){List(Arr,$("sel"));return;}
      var TempArr=Arr.filter(v);
      List(TempArr,$("sel"));
      var tSel=$("tempSel");
      List(TempArr,tSel);
      tSel.size=TempArr.length;
      tSel.style.display="block";
    }
    </script>
    </body>
    </html>
      

  6.   

    .....后来才发现s_liangchao1s那个最好应该给多点分,搞错了,sorry