依赖选择列表而不重新加载jsp页面

时间:2014-02-04 07:08:45

标签: javascript jsp select

这是我在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

1 个答案:

答案 0 :(得分:0)

回答没有声誉可以评论。

你是否意识到在页面上使用JSP“内联”的方法现在被认为是不好的做法(自从2003年发布JSP 2.0以来,它被认为是不好的做法)?

请参阅最新的Java EE JSP教程:

http://docs.oracle.com/javaee/5/tutorial/doc/bnagx.html

将业务逻辑(填充列表的内容)移动到后端servlet。

然后,您将无需刷新即可显示列表。