这是我在jsp中依赖选择列表的代码。它工作正常,但它重新加载页面以获取第二个选择列表中的值。我想在不重新加载jsp的情况下做同样的事情。 请建议。
Javascript:
function change(){
var cid=document.getElementById("series_id").selectedIndex;
var val = document.getElementById("series_id").options[cid].text;
window.location.replace("HomePage_new.jsp?id="+val);
}
jsp:
<!-- Series -->
<tr>
<td class="password">Series</td>
<td class="password">
<select id="series_id" name="series_id" onChange="change()" style="color: #4B616A; background-color: #eaeced; border: 1px solid #939fa4; height: 26px; width: 120px; padding-bottom: 4px; text-align: center;">
<option value="">Select</option>
<%
while (rs.next())
{
System.out.println("Series loop" + rs.getString(1));
%>
<option value=""><% rs.getString(1); %><%= rs.getString(1) %></option>
<%
System.out.println("Series loop" + rs.getString(1));
}
%>
</select></td>
</tr>
<!-- Drawing number -->
<tr>
<td class="password">Drawing Number</td>
<td class="password"><select id="dr_no_id" name="dr_no_id"
style="color: #4B616A; background-color: #eaeced; border: 1px solid #939fa4; height: 26px; width: 120px; padding-bottom: 4px; text-align: center;">
<%
rs1 = stmt.executeQuery("select DISTINCT Drawing_No from series_details where Series='"+ request.getParameter("id") + "'");
while (rs1.next())
{
application.setAttribute("Drawing No",rs1.getString(1));
%>
<option value="1"><% rs1.getString("Drawing_No");%><%= rs1.getString("Drawing_No") %></option>
<%
}
%>
</select></td>
</tr>
求助:
从中获得解决方案: http://www.javaquery.com/2011/07/how-to-get-value-from-database-without.html
答案 0 :(得分:0)
回答没有声誉可以评论。
你是否意识到在页面上使用JSP“内联”的方法现在被认为是不好的做法(自从2003年发布JSP 2.0以来,它被认为是不好的做法)?
请参阅最新的Java EE JSP教程:
http://docs.oracle.com/javaee/5/tutorial/doc/bnagx.html
将业务逻辑(填充列表的内容)移动到后端servlet。
然后,您将无需刷新即可显示列表。