动态下拉列表给出空格

时间:2015-01-13 06:14:38

标签: ajax jsp

我在动态下拉列表中获得了空格。这是我的代码,

<script type="text/javascript">
function loadXMLDoc(){
  var xmlhttp;
  var keys=document.dummy.sele.value
  var urls="db_fetch.jsp?ok="+keys
  if (window.XMLHttpRequest){
     xmlhttp=new XMLHttpRequest();
  }
  else{
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
     removeall(); 
     if (xmlhttp.readyState==4){
        z=0;
        var roott=xmlhttp.responseXML.documentElement;
        var ress=roott.getElementsByTagName("sele2")[z].childNodes[0].nodeValue; 
        while(ress!=null)
        {
             addoptions(ress)
             z++
             var ress=roott.getElementsByTagName("sele2")[z].childNodes[0].nodeValue;
        }
     }

     function removeall(){ 
        var ct=document.dummy.sele2.length;
        for(i=ct; i>=0; i--){    
            document.dummy.sele2.options[i]=null;
        }
     }

     function addoptions(reslt){ 
        var ct1=document.createElement("OPTION");
        ct1.text=reslt;
        ct1.value=reslt;
        document.dummy.sele2.options.add(ct1); 
     }
  }    

  xmlhttp.open("GET",urls,true);
  xmlhttp.send();
}
</script>
</head>
<body>
    <form name="dummy">
        Employee Number:    <select name="sele" onchange="loadXMLDoc()">
           <option>select</option>
           <option value="1">1</option>
           <option value="2">2</option>
        </select> 
        Employee Name:<select name="sele2">
            <option>--choose--</option>
        </select> 
    </form>
</body>
</html>

我有第二个用于获取数据库值的jsp代码。

<% 
      response.setContentType("text/xml");
      String sn=request.getParameter("ok");
      int i=Integer.parseInt(sn);
      System.out.println(i);

      Class.forName("oracle.jdbc.driver.OracleDriver");
      Connection con =DriverManager.getConnection("jdbc:oracle:thin:@10.202.64.11:1521:XE","flat","flat");
      Statement st=con.createStatement();
      ResultSet rs = st.executeQuery("select STR_FLATNO from mst_flat where INT_AREACODE="+i);

      out.println("<select name='sele2'> <option value='0'>select</option>");                        
          while(rs.next()){                  
                out.println("<option value="+rs.getString(1)+">"+rs.getString(1)+"</option>");
          }
      out.println("</select>");

      rs.close();
      st.close();
      con.close();
%>

选择员工编号时,我无法从database.Here获取员工姓名,

  

String sn = request.getParameter(&#34; ok&#34;);

保留员工编号的值。

Drop down boxes

我有任何错误吗?。请帮助我..谢谢..

1 个答案:

答案 0 :(得分:0)

看起来您的查询没有正确执行,或者结果集的大小为0.检查您的数据库属性和连接或检查查询的输出。