1

我对 jsp/servlet 中的下拉框有一个奇怪的问题。这里是...

  <select name="locdropdown" onchange="javascript:change()" > 
<%
for(LocationDO locationDO : locationList){%>
<option value=<%=locationDO.getLocationName().trim()%>><%=locationDO.getLocationName().trim()%></option> 
<%} %>
</select>

显示的值为:

 BI Sholingar
 BI Mahindra City
 BI Sanand 
 Rolltec_DTA
 Aztec Auto Ltd
 BI Gurgoan

这就是我尝试在 servlet 中阅读它的方法。

String locclasses = req.getParameter("locdropdown");
System.out.println(locclasses);

假设我选择Aztec Auto Ltd然后来自 servlet 的预期输出是正确的。但输出是Aztec. 同样,如果我选择 BI Sanand,则实际输出为BI

有人可以帮忙吗

4

2 回答 2

3

您需要引用该值。

<option value="<%=locationDO.getLocationName().trim()%>">

空格即为 HTML 属性分隔符。当您通过右键单击页面 >查看源代码检查生成的 HTML 时,带有一点不错的语法荧光笔的浏览器已经提示了它。

<option value=Aztec Auto Ltd>

相对

<option value="Aztec Auto Ltd">
于 2011-05-27T04:32:09.330 回答
0

正如 BalusC 在他的回答中所说,问题在于您的价值分配。

将您的代码修改为:

<select name="locdropdown" onchange="javascript:change()" > 
<%
for(LocationDO locationDO : locationList)
{%>
<option value="<%=locationDO.getLocationName().trim()%>" >
        <%=locationDO.getLocationName().trim()%>
</option> 
<%} 

%>
</select>

希望这可以帮助。

于 2011-05-27T04:39:56.227 回答