2016-02-08 8 views
1

Я написал код, который динамически заполняет выпадающий список из базы данных SQL. Далее, мне нужно изменить содержимое страницы в зависимости от выбора пользователя в режиме реального времени (без кнопок), возможно, показать другую метку или даже показать другой выпадающий список, который также получает его значения из SQL DB в зависимости от предыдущего выбор и т.д .. Вот мой кодДинамическое изменение содержимого страницы JSP без кнопок

<%@ 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> 

После того как все выборы сделаны, я отобразить кнопку, которая передает выбранные данные в серверном сервлет (я знаю, как сделать это один раз «представить» кнопка есть).

+0

Вы можете вызвать функцию в обмене выбора и передать идентификатор выбранных значений, из которого вы можете сделать запрос ajax, который вернет вам данные, и вы можете создать ярлык, выпадающий из этих данных. –

+0

Медведь со мной, я новичок в веб-разработке JSP, вы говорите, что есть слушатель изменений, который работает постоянно? –

+0

напишите свой код в функции и назовите его в списке событий onchange. вы можете использовать ajax. –

ответ

0

Вы можете написать следующую функцию яваскрипта и вызвать его на OnChange событие вашего <select> элемента:

<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>, это может быть неправильно; но другой код будет работать нормально. Я добавил атрибуты «id» и «onchange» для тега <select>.