如题,需要在JSP页面做一个级联的动态下拉菜单写了如下:
<td width="172" id="myth">机&nbsp;&nbsp;&nbsp;&nbsp;型:
  <select  name="jixing"  style="width:70px"  onChange="change_xian()"> 
   <option selected="selected">请选择</option> 
<%   String sql17="select distinct 机型 from JT1_机车配属";
       Statement stmt=conn.createStatement();
       ResultSet rs17=stmt.executeQuery(sql17);   
      while(rs17.next())
      {
  String ji=rs17.getString("机型").trim();
  if(ji!=""){
  %>
  <option   value=<%=ji%>><%=ji%></option> 
  
  <% }}  rs17.close();%> 
  </select>
 
</td>
<Script language="JavaScript" type="">
function change_xian()
{
var s=document.getElementById("jixing").value; 
 
 var url="Ajax_pos1.jsp?jixing="+s;
 url = encodeURI(encodeURI(url));
 Ajax_g11(url);}function Ajax_g11(url)
{if (window.xmlHttpRequest) { 
               req = new xmlHttpRequest(); 
       }else if (window.ActiveXObject) { 
               req = new ActiveXObject("Microsoft.xmlHTTP"); 
       } 
       if(req){ 
    
               req.open("GET",url, true); 
               req.onreadystatechange = Ajax_js_g11; 
               req.send(null); 
       }   }
 function Ajax_js_g11()
{
if (req.readyState == 4) {    
     if (req.status == 200) { 
      
     var departmentname= req.responsexml.getElementsByTagName("b"); 
     var arr=new Array();
     arr=departmentname[0].firstChild.data.split(",");
     document.form.chehao1.length=0;
    for(var i=0;i<arr.length;i++)
    {
      document.form.chehao1.options[i] = new Option(arr[i],arr[i]);
    }
   
     }
   }
 }
 
</Script>
<td width="146"  id="myth">车&nbsp;&nbsp;号:
<span style="position:relative; width:80px">
  <span style="margin-left:52px;width:18px;overflow:hidden;">
  <select style="width:70px;margin-left:-52px" onChange="this.parentNode.nextSibling.value=this.value"  name="chehao1">
  <option   value="" selected="selected">———</option>
  </select>
  </span>
  <input name="chehao" style="width:52px;position:absolute;left:0px;">
</span>
  
</td>
《车号》的下拉单是可编辑的。
Ajax里的内容都可以实现,结果也正确,但是在下拉单时,所有《车号》的第一个选项选过之后显示不出来,不知道为什么,有点怀疑是可编辑下拉单的问题,但是不知道是错在什么地方?各位大侠帮我看下,万分感谢。

解决方案 »

  1.   

    大侠过来看看,怀疑是可编辑下拉单的问题:
    <td width="146"  id="myth">车&nbsp;&nbsp;号: 
    <span style="position:relative; width:80px"> 
      <span style="margin-left:52px;width:18px;overflow:hidden;"> 
      <select style="width:70px;margin-left:-52px" onChange="this.parentNode.nextSibling.value=this.value"  name="chehao1"> 
      <option  value="" selected="selected">——— </option> 
      </select> 
      </span> 
      <input name="chehao" style="width:52px;position:absolute;left:0px;"> 
    </span>  
    </td> 
      

  2.   

    <select style="width:70px;margin-left:-52px" onmousedown="this.selectedIndex=-1" onchange="alert(this.selectedIndex); this.parentNode.nextSibling.value=this.value"  name="chehao1"> 
     <option  value="" >----- </option>   </select> 
      

  3.   

    <select style="width:70px;margin-left:-52px" onmousedown="this.selectedIndex=-1" onchange="alert(this.selectedIndex); this.parentNode.nextSibling.value=this.value"  name="chehao1"> 
     <option  value="" >----- </option>   </select>