[英]JSP: drop down list 2 depends on drop down list 1
我在處理兩個鏈接的下拉列表時遇到困難,下拉列表1將從數據庫中獲取值,並基於用戶的選擇,它將從下拉列表2中獲取相關記錄。
我嘗試使用該代碼在jsp中執行此操作,但此操作不起作用,許多人建議使用javascript。 實際上,我對abot JS的了解不多,所以請您幫我一下
<select size="1" name="shop_category"><option value="NONE">
<%
try
{
ResultSet rs=null;
Statement st1=null;
String query = "select Category_name, category_id from shop_category_lkup";
st1 = conn1.createStatement();
rs = st1.executeQuery(query);
while(rs.next())
{
String sz_Selected="";
if (rs.getString("category_id").equals(shop_category))
{
sz_Selected = "selected";
}
%>
<option value="<%=rs.getString("category_id")%>" <%=sz_Selected%>>
<%=rs.getString("category_name")%></option>
<%
}
}
catch (Exception e) {
e.printStackTrace();
}
%>
</select>
<select size="1" name="rent_category"><option value="NONE">
<%
try
{
ResultSet rs=null;
Statement st1=null;
String query = "select r.Category_name, r.category_id from rent_category_lkup r, shop_categpry_lkup s where r.category_id=s.category_id";
st1 = conn1.createStatement();
rs = st1.executeQuery(query);
while(rs.next())
{
String sz_Selected="";
if (rs.getString("category_id").equals(rent_category))
{
sz_Selected = "selected";
}
%>
<option value="<%=rs.getString("category_id")%>" <%=sz_Selected%>>
<%=rs.getString("category_name")%></option>
<%
}
}
catch (Exception e) {
e.printStackTrace();
}
%>
</select>
假設腳本中存在的Java代碼在客戶端執行,這是一個根本性的錯誤!
看一下JSP的生命周期 。 之后,您將處於一個更好的位置,以了解為什么您的代碼不起作用。
之后,您應該嘗試使用AJAX研究一些Cascading Dropdown示例 。
如果所有這些都無濟於事-請重新發布,引導您的過程會容易得多。
我不願意發布擴展的答案,因為@anirvan已經用兩個詞完美地總結了這一點,我無法超越:您犯了一個根本性的錯誤 。
直截了當:Java / JSP在Web服務器上運行,生成一堆HTML / CSS / JS並通過網絡將其從Websserver發送到Webbrowser。 網絡瀏覽器(例如MSIE,Firefox等)檢索並理解HTML / CSS / JS並開始顯示/應用/運行它。 如果Java / JSP已正確完成其任務,則在Web瀏覽器中右鍵單擊> 查看源代碼時,您不應看到其任何一行。 使Web瀏覽器(JavaScript)中的代碼和Web服務器(Java / JSP)中的代碼相互通信的唯一方法是讓JavaScript發送HTTP請求,然后Java / JSP對此做出響應。
使用JavaScript發送HTTP請求可以通過以下幾種方式完成:
document.getElementById('formId').submit()
。 window.location = 'http://www.google.com';
: window.location = 'http://www.google.com';
。 new XMLHttpRequest()
等等。 這是一堆“必讀”鏈接,以了解彼此之間如何相互配合以及應如何使用彼此:
嗯,這個答案畢竟比我想的要擴展的多了……總之,希望它能對您有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.