0

我有一个下拉菜单,里面全是帐单名称:

<select id="mailer_filter">
<optgroup label="VIEW BY SUBSCRIPTION">
            <c:forEach var="Mailer" items="${mailerlist.billerNameList}">
            <option value="searchFor=${Mailer.billerName}&searchBy=3&addressTypeF=${requestScope.addressTypeF}&folder=${mailitems.mailboxAttributes.folder}"><c:out value="${Mailer.billerName}"/></option>              
            </c:forEach>
          </optgroup>
        </select>
        <script type="text/javascript">
          $('#mailer_filter').change(function(){
            epost.fn.windowLocation('mailList.a?' + $(this).val());
          });
        </script>

我想做的是用户从下拉列表中选择的项目。当页面再次重新加载数据时,让该项目显示为下拉列表中的默认选定值。我假设有很多方法可以做到这一点,这里涉及的是将所选项目存储在请求范围内或我猜的东西。

变量 = ${Mailer.billerName} 是当用户从下拉列表中选择该名称时,我希望在重新加载时设为默认名称。感谢您的时间、知识和努力。

4

2 回答 2

2

确实存储您要预选的值,并添加以下代码:

<option value="..." 
    <c:if test="${Mailer.billerName == valueToPreSelect}>
        selected="selected"
    </c:if>><c:out value="${Mailer.billerName}"/></option>
于 2012-06-25T21:42:08.370 回答
1

我不确定我的问题是否正确,但您可以将 ${Mailer.billerName} 保存为请求属性,然后执行以下操作:

<c:forEach var="Mailer" items="${mailerlist.billerNameList}">
            <option 

<c:if check='${request.billerName eq Mailer.billerName}' >selected</c:if>

value="searchFor=${Mailer.billerName}&searchBy=3&addressTypeF=${requestScope.addressTypeF}&folder=${mailitems.mailboxAttributes.folder}"><c:out value="${Mailer.billerName}"/></option>              
            </c:forEach>
于 2012-06-25T21:43:55.357 回答