简单办法: 在当前页面下拉列框前+一个文本框用来输入要搜索的关键字 然后调用下拉列框的onclick事件 先把下拉列框的所有项文本值存放入一个数组里 Array a 里,然后判断数组 a 的每一项看看是否与关键字有匹配的,如果有匹配的就存放入新的一个数据里Array b 内,然后再把下拉列表的所有项删除,最后更新下拉项的每项为最新的数组 b Okfunction changeValue(){
   //循环得到下拉列表值
   var selectName=document.getElementById("下拉列表的id");
   var findStr=docment.getElementById("关键字文本框");
   var a=new Array();
   //为数据 a 赋值
    for(var i=0;i<selectName.options.length;i++){
      var selectText=selectName.options[i].text; 
      if(关键字和selectText匹配){匹配方法很多,看看你自已的常用方法.  可以用正则表达式...
       a.push(selectText);
      }
    }
  //删除select内所有原使项
  for(....){
   //百度吧
  }
  //select动态添加数据a里的所有值
  for(var i=0;i<a.length;i++){
     selectName.options.add(new Option(a.[i],""));
  }
  ---------------看看你的想法咯............. 
}

解决方案 »

  1.   

    我觉得这种挺好的:在当前页面下拉列框前+一个文本框用来输入要搜索的关键字 然后调用下拉列框的onclick事件 先把下拉列框的所有项文本值存放入一个数组里 Array a 里,然后判断数组 a 的每一项看看是否与关键字有匹配的,如果有匹配的就存放入新的一个数据里Array b 内,然后再把下拉列表的所有项删除,最后更新下拉项的每项为最新的数组 b Ok function changeValue(){ 
      //循环得到下拉列表值 
      var selectName=document.getElementById("下拉列表的id"); 
      var findStr=docment.getElementById("关键字文本框"); 
      var a=new Array(); 
      //为数据 a 赋值 
        for(var i=0;i <selectName.options.length;i++){ 
          var selectText=selectName.options[i].text; 
          if(关键字和selectText匹配){匹配方法很多,看看你自已的常用方法.  可以用正则表达式... 
          a.push(selectText); 
          } 
        } 
      //删除select内所有原使项 
      for(....){ 
      //百度吧 
      } 
      //select动态添加数据a里的所有值 
      for(var i=0;i <a.length;i++){ 
        selectName.options.add(new Option(a.[i],"")); 
      } 
      ---------------看看你的想法咯............. 
    }