如何在servlet的<option>标记</option>之间获取文本

时间:2019-03-22 05:42:39

标签: jsp select servlets request html-select

我已在索引页面中选择。如下图

<div id="dropdown" class="input-group" style="width:50%">
                    <select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
                        <option value="C:/path1" >option 1/option>
                        <option value="C:/path2" >option 2</option>
                        <option value="C:/path3" >option 3</option>
                        <option value="C:/path4" >option  4</option>
                        <option value="C:/path5" >option  5</option>
                        <option value="C:/path6" >option 6</option>
                    </select> 
                </div>

我需要“ Value”属性的值,即“ C:/ path1”,我可以使用

在Servlet中获取
String value= request.getParameter("select2");

现在,我需要在标记之间获取文本,即我需要“选项1”或任何基于选择的内容。我该怎么做。请帮助。在此先感谢:)

2 个答案:

答案 0 :(得分:1)

使用表单,如果您还需要选项标签,则只能value选择选项,然后需要编写额外的逻辑以将数据发送到服务器。

<div id="dropdown" class="input-group" style="width:50%">
    <input type="hidden" name="selectedLabel" id="selectedLabel">
    <select class="form-control" id="select2" name="select2" onchange="javascript:getSelectedLabel(this);" style="width : 250px">
       <option value="C:/path1" >option 1/option>
       <option value="C:/path2" >option 2</option>
       <option value="C:/path3" >option 3</option>
       <option value="C:/path4" >option  4</option>
       <option value="C:/path5" >option  5</option>
       <option value="C:/path6" >option 6</option>
    </select> 
</div>

JS:使用此功能,您可以将选项标签设置为隐藏字段,并且隐藏字段将与表单数据一起发送。

function getSelectedLabel(sel) {
    document.getElementById("selectedLabel").value = sel.options[sel.selectedIndex].text;
    document.form1.submit();
}

服务器端:

String value= request.getParameter("select2");
String label = request.getParameter("selectedLabel"); 

答案 1 :(得分:0)

这里是简单快捷的解决方案。

尝试

<select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
                    <option value="C:/path1_option 1" >option 1/option>
                    <option value="C:/path2_option 2" >option 2</option>
</select>

如果像这样(路径+选项文本)将数据发送到servlet,则可以通过request.getParameter()方法获取数据,并使用Java代码拆分数据。

String value= request.getParameter("select2");
String vals[]  = value.split("_",0);

for(String v : vals){
    System.out.println(v);
}

因此,您可以获得这两个值。...