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 に答える