0

我想将值绑定到下拉列表,即命名为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>`
4

2 回答 2

1

为此,您需要 AJAX 才能使其正常工作。

您的 jsp 被编译成一个 servlet,然后交付给您的客户端。之后就无法再进行任何更改。

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

于 2013-06-17T13:50:56.927 回答
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/

于 2013-06-17T14:29:30.060 回答