Как отправить раскрывающееся значение сервлету, а не текст опции - PullRequest
0 голосов
/ 27 мая 2020

У меня есть раскрывающийся список с параметрами и значениями. Я могу получить значение параметра по имени раскрывающегося списка в сервлете, но как я могу получить «значение» раскрывающегося списка в сервлете. На скриншоте я временно объединил параметры with, но я хочу сохранить значение в переменной в сервлете. Пожалуйста, помогите:

HTML:

 <input type="text" name="taxiDropdown" id= "taxiDropdown" placeholder="Search taxi...">
                            </div>
                                <div class="scrolling menu">
                                    <%
                                        List eList = (ArrayList) session.getAttribute("taxiInfo");
                                    %>
                                    <%
                                        for (int i = 0; i < eList.size(); i++) {
                                    %>
                                    <div class="item" data-value="<%=((TaxiInfo) eList.get(i)).getID()%>">
                                        <div class="ui green empty circular label"></div>
                                        <%=((TaxiInfo) eList.get(i)).getTaxiPlate() +" "+ ((TaxiInfo) eList.get(i)).getID() %>

                                    </div>
                                    <%
                                        }
                                    %>
                                </div>
                            </div>

Сервлет:

String val = request.getParameter("taxiDropdown");

(в «val» я хочу сохранить значение раскрывающегося списка, а не текст опции)

enter image description here

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

добавил этот код в html:

Переместить значение раскрывающегося списка в скрытое текстовое поле

<script type='text/javascript'>
    $(function() {
        $('#driverdp').change(function() { <-- this is my dropdown -->
            var x = $(this).val();
            $('#driverid').val(x); <-- this is my textbox -->
        });
    });
</script>

Сервлет: получить значение скрытого текста в сервлете

String text= request.getParameter("driverId");

надеюсь кому-то поможет

0 голосов
/ 27 мая 2020

В JSP у вас должно быть что-то вроде этого:

<form method="post">
    <select name="taxiDropdown" id="taxiDropdown">
        <%
            List<TaxiInfo> eList = (List<TaxiInfo>) request.getAttribute("taxiInfo");
            for (TaxiInfo taxiInfo : eList) {
        %>
        <option name="<%=taxiInfo.getTaxiPlate()%>" value="<%=taxiInfo.getID()%>"><%=taxiInfo.getTaxiPlate()%></option>
        <%
            }
        %>
    </select>
    <input type="submit" />
</form>

Затем в контроллере / сервлете вы получите идентификатор TaxiInfo:

String val = request.getParameter("taxiDropdown");
System.out.println(val);

Или в вашем случае вы должен установить скрытый ввод с javascript с желаемым значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...