解决下拉列表框默认选中值的问题

解决下拉列表框默认选中值的问题
  情景:当修改学生信息时,班级编号用下拉列表框实现,默认选中的是当前学生所在的班级
  实现:

    UpdateTime--2017年1月6日15:22:04

<!-- 新方法 -->
<select name="CLAZZID">
    <c:forEach items="${model.clazzId}" var="clazzId">
        <!-- 如果下拉列表框的值与当前学生的班级编号相同,则添加给该option标签添加selected属性 -->
        <option value="${clazzId.CLAZZID}" 
            <c:if test="${clazzId.CLAZZID==model.student[0]['CLAZZID']}">selected="selected"</c:if>>
            ${clazzId.CLAZZID}
        </option>    
    </c:forEach>
</select>
<!-- 旧方法 -->
<select name="CLAZZID">
    <c:forEach items="${model.clazzId}" var="clazzId">
        <c:if test="${clazzId.CLAZZID==model.student[0]['CLAZZID']}">
            <option value="${clazzId.CLAZZID}" selected="selected">${clazzId.CLAZZID}</option>        
        </c:if>
        <!-- 不相同,不添加selected属性 -->
        <c:if test="${clazzId.CLAZZID!=model.student[0]['CLAZZID']}">
            <option value="${clazzId.CLAZZID}">${clazzId.CLAZZID}</option>
        </c:if>
    </c:forEach>
</select>

  说明:model是一个Map集合;clazzId是该Map集合的一个元素,它自身是;另一个Map对象封装成的List集合;
     student也是一个List集合,该集合里有且只有一个Map集合
  注意事项:
    1.如果是直接获取某个集合中对象的属性,直接这样:model.student[0].CLAZZID;
    表示的含义是:获取键为model的Map集合的中的键为student的List集合的0号元素Map对象键为CLAZZID的值
    2.option 标签使用时,一定不要忘了添加value属性;
    3.select标签使用时,不要忘了添加name属性,form表单提交是根据name获取值的;这里获取的是select标签下属的被selected修饰的option标签的value的值

 

posted @ 2017-03-09 09:36  Marydon  阅读(1511)  评论(0编辑  收藏  举报