无需按钮即可动态更改JSP页面内容

时间:2016-02-08 06:26:39

标签: javascript java jquery html jsp

我编写了一个动态填充SQL数据库下拉列表的代码。 接下来,我需要根据用户实时选择(无按钮)更改页面内容,可能显示另一个标签,甚至显示另一个下拉列表,该列表也可以从SQL DB中获取值,具体取决于之前的选择等等.. 这是我的代码

<%@ page import="java.sql.*" %>
<%ResultSet resultset = null;
Connection conn;%>
<HTML>
<%
    try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
        conn = DriverManager.getConnection("jdbc:sqlserver://DESKTOP-O708F3G\\SQLEXPRESS;databaseName=master",
                "user", "pswd");

        Statement statement = conn.createStatement();

        resultset = statement.executeQuery("select * from RTable");
%>
<h1> Drop down list</h1>
    <select name="projectname">
        <%  while (resultset.next()) {%>
        <option><%= resultset.getString(2)%></option>
        <% } %>
    </select>
<%
    } catch (Exception e) {
        out.println("error"+e);
    }
%>
</HTML>

完成所有选择后,我将显示一个“提交”按钮,将所选数据发送到后端servlet(我知道如果按钮在那里,该怎么做)。

1 个答案:

答案 0 :(得分:0)

您可以编写以下javascript函数并在<select>元素的onchange事件中调用它:

    <p id="demo"></p>

    <script>
    function myFunction() {
        var x = document.getElementById("mySelect").value;
        document.getElementById("demo").innerHTML = "You selected: " + x;
    }
    </script>
//Your JSP Code
    <select name="projectname" id="mySelect" onchange="myFunction()">
        <%  while (resultset.next()) {%>
        <option value="<%= resultset.getString(2)%>"><%= resultset.getString(2)%></option>
        <% } %>
    </select>

请检查<option>的值属性的代码,它可能是错误的;但其他代码将正常工作。我已为<select>代码添加了'id'和'onchange'属性。