求助freemarker 双层循环问题
我用了bootstrap-multiselect插件,是可以实现下拉框多选的情况,下面是修改页面。集合list1(所有选修科目id){1,2,3,4,5}集合list2(...
我用了bootstrap-multiselect插件,是可以实现下拉框多选的情况,下面是修改页面。
集合list1 (所有选修科目id) {1,2,3,4,5}
集合list2 (该学生已选择的科目) {1,2}
<select>
<#list list1 as a >
<#list list2 as b >
<#if a==b>
<option value="1" selected="selected">1</option>
<#break>
<#else>
<option value="1" selected="selected">1</option>
</#if>
</#list>
</#list>
</select>
输出结果应该 : 可惜结果是这样:
1 被选中 1 被选中
2 被选中 2
3 2 被选中
4 3
5 3
4
4
5
5
求大神教怎么写循环逻辑 展开
集合list1 (所有选修科目id) {1,2,3,4,5}
集合list2 (该学生已选择的科目) {1,2}
<select>
<#list list1 as a >
<#list list2 as b >
<#if a==b>
<option value="1" selected="selected">1</option>
<#break>
<#else>
<option value="1" selected="selected">1</option>
</#if>
</#list>
</#list>
</select>
输出结果应该 : 可惜结果是这样:
1 被选中 1 被选中
2 被选中 2
3 2 被选中
4 3
5 3
4
4
5
5
求大神教怎么写循环逻辑 展开
1个回答
展开全部
首先,你插入checkbox的代码放错位置了,应该放在外层循环,放在内层循环的话会重复插入tkbhList长度的checkbox;其次,内层循环只需判断ID相同的项就设置默认选中,内层循环只需做判断就可以了,以下是我修改后的代码,你可以试试。
<#list bmList as dpt>
<#if tb.tkbhList??>
<input type="checkbox" name="dpts" value="${dpt.id! }"
<#list tb.tkbhList as tkbh>
<#if dpt_index%4 = 3>checked="checked"</#if>
</#list>
>${dpt.name! } <br />
</#if>
</#list>
<#list bmList as dpt>
<#if tb.tkbhList??>
<input type="checkbox" name="dpts" value="${dpt.id! }"
<#list tb.tkbhList as tkbh>
<#if dpt_index%4 = 3>checked="checked"</#if>
</#list>
>${dpt.name! } <br />
</#if>
</#list>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询