【问题标题】:making default value the previously selected value (JSTL)将默认值设为先前选择的值 (JSTL)
【发布时间】:2012-06-27 04:09:49
【问题描述】:

我有一个包含帐单名称的下拉菜单:

<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} 是当用户从下拉列表中选择该名称时,我希望在重新加载时设为默认名称。感谢您的时间、知识和努力。

【问题讨论】:

    标签: java javascript jsp jstl el


    【解决方案1】:

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

    <option value="..." 
        <c:if test="${Mailer.billerName == valueToPreSelect}>
            selected="selected"
        </c:if>><c:out value="${Mailer.billerName}"/></option>
    

    【讨论】:

      【解决方案2】:

      我不确定我的问题是否正确,但您可以将 ${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>
      

      【讨论】:

      • 谢谢!不敢相信我竟然没有注意到我是检查它是否等于 billterName 的参数已经被存储了。
      • 我相信“test”是 c:if 的正确属性
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 2020-09-11
      • 2021-06-28
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多