Как я могу показать значение в текстовой области из базы данных / на основе выбранного значения? - PullRequest
1 голос
/ 28 апреля 2020

Мне нужно просмотреть другой столбец <%=rs1.getString(2)%> в зависимости от выбранного значения. Мне нужно показать это значение в текстовой области. Как я могу это реализовать? -> pastebin.com / ewSB7KS6

<label for="issue_id"><strong>Select Issue:</strong></label>
<select name="issue_id" id="issue_id" required>
<option class="placeholder" selected disabled value="">Select</option>
<%
while(rs1.next()){ 
%>
<option value="<%=rs1.getString(1)%>"> <%=rs1.getString(1) %> <%=rs1.getString(2) %></option>
<% } %>
</select> 
<label for="minfeed"><strong>Feed:</strong></label>
<textarea id="minfeed" rows="4" cols="50" name="minfeed" disabled="disabled"></textarea>

1 Ответ

1 голос
/ 28 апреля 2020

Вы можете использовать onchange событие jquery, чтобы получить выбранное значение, а затем поместить это выбранное значение в текстовое поле, используя .text(). Демо-код:

$('select').on('change', function() {
  //getting value from select
  var select = $(this).val();
  //splitting both value 
  var v = select.split(",");
  //getting second value after ,
  $("#minfeed").text(v[1]);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<label for="issue_id"><strong>Select Issue:</strong></label>
<select name="issue_id" id="issue_id" required>
  <option class="placeholder" selected disabled value="">Select</option>
  <%
while(rs1.next()){ 
%>
    <!--here i have added both value in one with seprator ","-->
    <option value="<%=rs1.getString(1)%> ,<%=rs1.getString(2) %>">
      <%=rs1.getString(1) %>
        <%=rs1.getString(2) %>
    </option>
    <% } %>
</select>
<label for="minfeed"><strong>Feed:</strong></label>
<textarea id="minfeed" rows="4" cols="50" name="minfeed" disabled="disabled"></textarea>

Обновление 1: Как я уже прокомментировал, вы можете достичь, используя ajax. Так, ваш код jquery будет выглядеть следующим образом:

$('select').on('change', function() {
  //getting value from select
  var select = $(this).val();
  $.ajax({
        type:'post',
        url:'yourservleturl',
        data:'select ='+select , //<--passing value to servlet
        success:function(data){
            console.log("success");
       $("#minfeed").text(data);
        }
    }); 

});

Теперь, получите значение этого select в сервлете, используя метод request.getParameter("select"); в doPost, а затем передайте это значение в свой запрос для выбора требуемого feed. Наконец, используйте response.getWriter().write("your feed"); для отправки вернитесь к ajax и покажите в текстовом поле.

...