jsp,下拉菜单select,如何实现在提交后保留选值。

各位热心朋友,以下是我的jsp码:
<select name="queryLForm.logType" size="1" class="arrow" tabindex="11">
<option value="<%=QL.getLogType()%>">所有类型</option>
<option value="会议室预定及取消">会议室预定及取消</option>
<option value="会议室管理">会议室管理</option>
<option value="投影仪管理">投影仪管理</option>
<option value="系统报表">系统报表</option>
</select>
其中queryLForm是我的查询条件formbean,QL用来保存输入的查询参数。

输出的时候要处理一下,我为了省事, 就用这种方法来处理了, 不太灵活
<%
//思路很清晰, 你没有想到此法, 主要原因还是你对服务器对jsp,再到浏览器整个处理流程不清晰
String[] typeNames=new String[]{"所有类型","会议室预定及取消","会议室管理","投影仪管理","系统报表"};
String[] selects=new String[typeNames.length];
for(int i<0;i<typeNames.length;i++){
selects[i]=typeNames[i].equals(QL.getLogType())?" selected=\"selected\"":"";
}
%>
<select name="queryLForm.logType" size="1" class="arrow" tabindex="11">
<option value="所有类型" <%=selects[0]%>>所有类型</option>
<option value="会议室预定及取消" <%=selects[1]%>>会议室预定及取消</option>
<option value="会议室管理" <%=selects[2]%>>会议室管理</option>
<option value="投影仪管理" <%=selects[3]%>>投影仪管理</option>
<option value="系统报表" <%=selects[4]%>>系统报表</option>
</select>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-19
jsp中的select值可以通过保存隐藏域的方式保留提交后的值。
比如有个select的列表值如下:

<select>
<option value ="volvo">Volvo</option>
<option value ="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>

定义隐藏域:
<hidden id="vvv" name="vvv" value=""/>
document.getElementById("vvv").value =select.option['volvo'].value;
这样就把值保存到vvv中了。
第2个回答  2011-07-04
再用一个参数来保存选定的值,然后用js获取到这个值
对所有option遍历,找到对应的项,将selected属性设为true即可追问

您好!我已经把选定的值放在QueryLog类中,已经存入选值数据了。我想要的效果是,比如我选择了“会议室预定”这一项,点击“查询”按钮后,我选择的“会议室预定”依旧显示在select栏。但是现在的效果是:我一点击“查询”按钮,select栏即刻变成“所有类型”。你那有现成的例子吗?

追答

大哥你有没有看我的回答啊。。。
把这个值用js接收,比如你在QueryLog类中得到的是‘会议室预定及取消’
那么你再把得到的这个值传回到页面,用setParameter或者什么。
然后在页面用js得到这个值。
对select遍历,当遍历到的值等于你所获得的这个值得时候将它的selected属性改为true
最后的结果相当于
会议室预定及取消
会议室管理
投影仪管理
注意我说的是相当于,由于你是用js写的selected,所以在页面上查看源代码应该显示不出来
具体怎么做上网查一下遍历select或者option selected

相似回答