日期:2014-05-17  浏览次数:20677 次

JSP下拉框如何保持选中项
JSP下拉框使用onchange事件提交表单到本文件后,会有刷新,怎么保持下拉框的选中状态为刚才选择的下拉框选项
Java code
<select onchange="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
------解决方案--------------------
javascript