我在索引页面中选择了。它看起来像下面
<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”或基于选择的任何内容。我该怎么做。请帮助。提前致谢 :)
如果你想要选项标签,你只能使用表单来选择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");
这里简单快捷的解决方案。
试试这个
<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);
}
所以,你可以得到这两个值....