我正在尝试使用一个默认为从表单传入的正确值的组合框。 它基本上是一个月下降以及月末的第一个和最后一个选项.. 这是我的逻辑:
<select id="f9-1-13c" name="domNotify" value="${eBoxForm.domNotify}>
<option value="-1"><fmt:message key="label.select_day" bundle="${i18nForm}" /></option>
<option value="0"><fmt:message key="label.first" bundle="${i18nForm}" /></option>
<option value="32"><fmt:message key="label.last" bundle="${i18nForm}" /></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
我的问题是如何创建一个循环来选择正确的值,包括第一个和最后一个逻辑,而不是每个值都有if语句方法。
答案 0 :(得分:0)
根据我的理解,您希望在首次渲染时显示所选值,如果是这样,您必须存储所选值并从服务器返回
在Servlet或您使用的任何MVC框架中
request.setAttribute("selectedDay", selectedDay);
request.setAttribute("daysInMonth", daysInMonth); //daysInMonth is a List/Collection of all days
在JSP中
<select id="f9-1-13c" name="domNotify" value="${eBoxForm.domNotify}>
<option value="-1" ${selectedDay == -1 ? 'selected' : ''}><fmt:message key="label.select_day" bundle="${i18nForm}" /></option>
<option value="0" ${selectedDay == 0 ? 'selected' : ''}><fmt:message key="label.first" bundle="${i18nForm}" /></option>
<option value="32" ${selectedDay == 32 ? 'selected' : ''}><fmt:message key="label.last" bundle="${i18nForm}" /></option>
<c:forEach items="${daysInMonth}" var="day">
<option value="${day}" ${day== selectedDay ? 'selected' : ''}>${day}</option>
</c:forEach>
</select>