【问题标题】:Dynamically change JSP page content without buttons无需按钮即可动态更改 JSP 页面内容
【发布时间】:2016-02-08 06:26:39
【问题描述】:

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

<%@ 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(一旦按钮出现,我就知道该怎么做)。

【问题讨论】:

  • 您可以在 select 的 onchange 上调用一个函数并传递选定的值 id,然后您可以发出一个 ajax 请求,该请求将返回数据,您可以从该数据创建标签、下拉列表。
  • 请耐心等待,我是 JSP Web 开发的新手,你是说有一个变化监听器一直在运行吗?
  • 在函数中编写代码并在 select onchange 事件中调用它。你可以使用 ajax。
  • 您可以添加一个更改列表来选择
  • 感谢您尝试提供帮助,但您认为我知道所有这些。我现在是做web开发的,之前没用过ajax。您所说的解决方案是在前端还是后端运行,因为它在后端运行没有意义,我的问题的重点是更新页面而不需要回到后端 servlet,因此是“无按钮”请求。

标签: javascript java jquery html jsp


【解决方案1】:

您可以编写以下 javascript 函数并在 &lt;select&gt; 元素的 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>

请检查&lt;option&gt;的value属性的代码,可能有误;但其他代码可以正常工作。我为&lt;select&gt; 标签添加了“id”和“onchange”属性。

【讨论】:

    猜你喜欢
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    相关资源
    最近更新 更多