如何使用jsp根据另一个下拉列表在下拉列表中显示值?

时间:2013-06-17 13:46:10

标签: java oracle jsp database-connection

我想将值绑定到dropdownlist,即命名为subtype,这取决于另一个下拉列表,即命名为type。请告诉我如何做到这一点..我给了我以下代码用于根据另一个下拉列表绑定下拉列表的工具。

  `<table>
  <tr>
  <td>
 <label id="type">Chosen category : </label>
 </td>
 <td>
 <% String getType=request.getParameter("id");
 out.println("<h4>"+getType+"  <a href='post free ads.jsp'>Change the
 category</a>   </h4>");
 %>
 </td>
 </tr>

 <tr>
 <td>
 <label id="typeselect">Select type : </label>
 </td>
 <td>
 <select name="type">  
     <option value="none">Select</option>  
  <%
  Connection conn = NewClass.getOracleConnection();
  Statement stmt = conn.createStatement();  
  ResultSet rs = stmt.executeQuery("Select distinct company from admin.all_stuff
   where stuff_type='"+getType+"' ");
  while(rs.next()){
      %>
      <option value="<%=rs.getString(1)%>"><%=rs.getString(1)%></option>
       <%
  }
 %>
  </select>
  </td>
 </tr>
 <tr>
 <td> <label id="subtypeselect">Select Subtype : </label></td>
 <td>
     <select name="subtype">  
  <option value="none">Select</option>  
     <%
  try
  { %>
 <% String typeselected = request.getParameter("type");
  Statement stmtmt = conn.createStatement();  
  ResultSet rse = stmtmt.executeQuery("Select model_no from admin.all_stuff
  where stuff_type='"+getType+"' and company='"+typeselected+"' ");
  while(rse.next()){
      %>
      <option value="<%=rse.getString(1)%>"><%=rse.getString(1)%></option> 
      <%
  }
  %>
  <% }
  catch(Exception e)
  {
      out.println(e.getMessage());
  }
  %>
  }
    </select> 

 </td>
  </tr>
    </table>`

2 个答案:

答案 0 :(得分:1)

你需要使用AJAX来实现它。

您的jsp被编译成一个servlet,然后传递给您的客户端。之后,不可能再进行任何更改。

您必须在HTML的第一个下拉框中处理onChange事件,然后向您的服务器发送一个AJAX请求,以便发回第二个下拉框的内容。

答案 1 :(得分:0)

从AJAX开始的最简单方法是获取一些库,例如jQuery

$.get('ajax/test.html', function(data) {
    alert(data);
});

此代码允许我们从HTML页面下载URL“ajax / test.html”中的一些内容。 第二个参数是回调函数。可变数据具有页面'ajax / test.html'

的内容

更多:http://api.jquery.com/jQuery.get/