JSP动态下拉列表

时间:2013-12-29 19:28:49

标签: jsp dynamic html-select

我需要根据另一个下拉列表中的选定字段填写下拉列表。我该如何实现?这是我的代码:

                <tr>
                <td>CITY :</td>
                <td><select name="city">
                        <%
                            while (rs.next()) {
                        %>
                        <option value="<%=rs.getString(1)%>"><%=rs.getString(1)%></option>
                        <%
                            }
                        %>
                </select></td>
            </tr>
            <%
            rs = db.runQuery(conn, "Select distinct town from adress where city='" + request.getParameter("city") +"'");
            %>
            <tr>
                <td>TOWN</td>
                <td><select name="town">
                        <%
                            while (rs.next()) {
                        %>
                        <option value="<%=rs.getString(1)%>"><%=rs.getString(1)%></option>
                        <%
                            }
                        %>
                </select>
            <tr>

第一个下拉列表正确填充,但第二个下拉列表无法正常工作。我该如何处理?

1 个答案:

答案 0 :(得分:2)

你不能这样做的原因是JSP编译成Servlet并在服务器端运行。在选择城市之前,Servlet只运行一次。我认为最简单的解决方案是提交表格两次:

<select name="city" onChange="this.form.submit();">

更好的解决方案是在客户端使用Ajax,但这需要更多的JavaScript或一些JavaScript库或JSP标记库。对于此类任务,jQuery是一个非常有用的JavaScript框架。