JSP下拉框使用onchange事件提交表单到本文件后,会有刷新,怎么保持下拉框的选中状态为刚才选择的下拉框选项
-
Java code
<select οnchange="window.location.href='probation.jsp?q='+this.value;" style="position:absolute;left:380px;top:120px;z- index:2;width:120px"> <% while (rs.next()) { out.print("<option Value=" + rs.getInt("dt_id") + ">" + rs.getString("dt_name")+ "</option> "); } %> </select>
option的内容是从数据库查询得出的结果
提交的目的文件就是本文件自身
求高手指点
巨谢!
------解决方案--------------------------------------------------------
先得到选中的id ,然后在判断你得到的id跟那个option 中是否相等,相等就 selected="selected",就默认选中了
------解决方案--------------------------------------------------------
给你个实例,这个是用的struts2写的,在你这儿,你可以在你的后台代码中保存好你传入后台的id,在前台用标签获取一下然后和循环中的做一下判断就好了。
-
HTML code
<select name="machinename" class="conselect1"> <s:iterator id="mnList" value="#request.mnList"> <s:if test="#machine.machinename==#mnList.stateValueName"> <option value="<s:property value="#mnList.stateValueName" />" selected="selected"> <s:property value="#mnList.stateValueName" /> </option> </s:if> <s:else> <option value="<s:property value="#mnList.stateValueName" />"> <s:property value="#mnList.stateValueName"/> </option> </s:else> </s:iterator> </select> ------解决方案-------------------------------------------------------- 如果是struts 框架的话,只需要在后台设置一下下拉框的值就可以了,前台一个代码也不用动,如果你想改前台的话,把id值作为对比是一个比较不错的解决方案 ------解决方案-------------------------------------------------------- 我使用的是逻辑方法处理这个问题,默认选择具有初始值,然后获取一定标示,进行判断,为空,使用默认值,有值,使用传递过来的参数,重置,将值设置默认值。 ------解决方案-------------------------------------------------------- 你的javabean或者request、session中,要保存下拉框的key值就可以了,页面初始化的时候,把这个值设置给下拉框 selected