出現問題的地方
<c:if test="${paramMap['_query.issend']=='0'}"> selected="selected" </c:if>
後臺默認會把name="_query.issend"中的 _query.issend做爲key保存到做用域中,而後返回的時候做爲回顯使用。
第一次點擊查詢的時候,數據正常,咱們的這裏選擇的是沒有隻的第一個option,
點擊一次查詢後,這裏的備選項就會變了,變成第二個了,也就是 value="0" 的這個選項,咱們什麼都沒有操做。只是點擊查詢
不知道爲何,
猜想:多是咱們系的if語句中 paramMap['_query.issend'] 這個第一次就是空值 "", 咱們這裏等於的時候使用的是 ==0 他給認爲是 "" 就是0 了, 不知道對不對? 徹底猜想。
${paramMap['_query.issend']==0}
因此可能認爲這個就是 true 了,就會改變備選項了。
解決方式: 把 ==0 這樣的方式改成 =='0' 改成等於字符串的形式,這樣,我測試的結果就沒有問題了。
原來的樣式:
<div class="report-update-list-search"> <label>${_res.get("admin.dict.property.status")}:${paramMap['_query.issend']}</label> <select id="" name="_query.issend" class="chosen-select" style="width:120px"> <option value="" >${_res.get('system.alloptions')}</option> <option value="0" <c:if test="${paramMap['_query.issend']==0}"> selected="selected" </c:if>>${_res.get('Unsent')}</option> <option value="1" <c:if test="${paramMap['_query.issend']==1}"> selected="selected" </c:if> >${_res.get('Has_been_sent')}</option> <option value="2" <c:if test="${paramMap['_query.issend']==2}"> selected="selected" </c:if>>${_res.get('Is_the_translation')}</option> </select> </div>
改變後結果顯示沒有問題的樣式測試
<div class="report-update-list-search"> <label>${_res.get("admin.dict.property.status")}:${paramMap['_query.issend']}</label> <select id="" name="_query.issend" class="chosen-select" style="width:120px"> <option value="" >${_res.get('system.alloptions')}</option> <option value="0" <c:if test="${paramMap['_query.issend']=='0'}"> selected="selected" </c:if>>${_res.get('Unsent')}</option> <option value="1" <c:if test="${paramMap['_query.issend']=='1'}"> selected="selected" </c:if> >${_res.get('Has_been_sent')}</option> <option value="2" <c:if test="${paramMap['_query.issend']=='2'}"> selected="selected" </c:if>>${_res.get('Is_the_translation')}</option> </select> </div>