我维护了来自数据库的字符串数组中的html multiselect的选定值的列表。我想将这些选定选项的值与完整选择选项列表进行比较,以便将它们设置为在加载屏幕时选定的值。由于循环,我为相同的选择选项不断获取多个实例。
<select id="selectForm" name="selectForm" multiple="multiple">
<c:forEach items="${FullList}" var="fullList">
<c:forEach items="${PreSelected}" var="preSelected">
<option ${preSelected== fullList.name ? 'selected="selected"' : ''}>${fullList.name}</option>
</c:forEach>
</c:forEach>
</select>
如何获得具有已选择的存储值的单个唯一选择列表?有没有比我的方法更好的解决问题的方法?
答案 0 :(得分:0)
尝试此操作,而不是在选项元素之前循环,将循环移动到选项元素内,如下所示。
<select id="selectForm" name="selectForm" multiple="multiple">
<c:forEach items="${FullList}" var="fullList">
<option
<c:forEach items="${PreSelected}" var="preSelected">
<c:if test="${preSelected== fullList.name}">selected</c:if>
</c:forEach>
>${fullList.name}</option>
</c:forEach>
</select>