在程序中,我们往往会对数据做修改,当选中修改数据后,首先会把原始数据先加载出来,但有的数据是在select(html的下拉框)控件中选择数据,下面就对下拉框数据默认选择的处理方式给予说明。
实现的方式很简单,一看就明白,解决很多同学在修改数据的时候,不知道怎么在下拉框中选中原始的数据。
<select id="selectedRoleId" class="form-control" name="roleId"> <c:forEach items="${roleList}" var="r"> <c:choose> <c:when test="${r.id==user.roleId}"> <option selected = "selected" value="${r.id}">${r.role}</option> </c:when> <c:otherwise> <option value="${r.id}">${r.role}</option> </c:otherwise> </c:choose> </c:forEach> </select>
对上面的代码做一个简单的说明:使用了EL表达式的<c:choose>.....<c:when> 和<c:otherwise>标签,这2个标签也就是我们熟悉的if....else....标签,不熟悉EL的同学们,可以学习一下EL,${roleList}是后台传过来的一个集合数据(角色列表),通过遍历该集合,给select标签绑定数据,user.roleId就是需要修改的实体对象的角色id(一个用户只有一个角色),如果修改对象的角色ID等于集合中的角色ID,就给该项加一个seleted属性,这样就会默认选中该项。实现放松是不是很简单.