我在JSP中定義了兩個下拉列表。第一個下拉菜單從數據庫中獲取其值。在選擇此下拉列表中的值時,應根據第一個下拉列表的選定值從數據庫中提取第二個下拉列表的相應值。我已經使用Javascript和jQuery來獲取第一個下拉列表的值。但是我無法弄清楚如何在JSP中引用這個值來填充第二個JSP。如何根據在另一個下拉列表中選擇的值填充下拉列表?
這是兩個下拉菜單我的JSP代碼:
第一個下拉列表:
<select name="dd1" id="dd1" style="width: 200px">
<option value="0">Choose New Salary</option>
<%
String Query1="select distinct Salary from TABLE1 where StartYear < 2005 order by Salary";
Stmt1 = conn.createStatement();
ResultSet List1=Stmt1.executeQuery(Query1);
while (List1.next())
{
int val1=List1.getInt("SALARY");
%>
<option value ="<%=val1%>"><%=val1%></option>
<%
}
%>
第二個下拉(我需要與第一個下拉的值來代替GETDD1DATA):
<select id="dd2" style="width: 200px">
<option value="0">Choose New Position</option>
<%
String Query2="select distinct POSITION from TABLE1 where Salary=" + GETDD1DATA + " order by POSITION";
Stmt2 = conn.createStatement();
ResultSet List2=Stmt2.executeQuery(Query2);
while (List2.next())
{
int val2=List2.getInt("POSITION");
%>
<option value ="<%=val2%>"><%=val2%></option>
<%
}
%>
這是JavaScript/jQuery代碼獲取第一個下拉的數據(我能看到第一個下拉的值是正確保存在變量selectedValue1):
<script type="text/javascript">
$(document).ready(function() {
$("#dd1").change(function(){
var selectedValue1 = $(this).val();
//console.log(selectedValue1);
});
});
</script>
我需要傳遞的價值從Javascript到JSP的selectedValue1,並在變量GETDD1DATA中引用它。我探索了會話變量和隱藏元素來存儲dropdown1值。但是這些不起作用,因爲當腳本變量尚未在Javascript中聲明時,Java腳本只會在頁面加載中執行一次。我也認爲重新加載整個頁面不會是一個選項,因爲下拉列表將被重置爲默認值。請幫我解決我的問題。
在點擊一個選項加載的值第二選擇,其中你有價值嗎? –
我將使用從查詢的第一個下拉列表中選擇的值來獲取第二個下拉列表的值。但我無法弄清楚如何在運行時引用JSP中的第一個下拉列表的值。 –