JSP下拉框如何保持选中项


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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值