如何将下拉值发送到servlet,而不是选项文本

问题描述 投票:-1回答:2

我有带有选项和值的下拉菜单。我可以通过servlet中的下拉名称获取选项值,但是如何获取servlet中的下拉“值”。在屏幕快照中,我暂时将with选项串联起来,但是我想将值存储在servlet中的变量中。请帮助:

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>

Servlet:

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

((在“ val”中,我要存储下拉列表的值而不是选项文本)

enter image description here

java html servlets
2个回答
0
投票

在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>

然后在控制器/ Servlet中,您将收到TaxiInfo的ID:

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

或者,在您的情况下,应使用所需值的javascript设置隐藏的输入。


0
投票

在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>

Servlet:获取servlet中隐藏文本的值

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

希望它会帮助某人

© www.soinside.com 2019 - 2024. All rights reserved.