适用场景:
搜索条件的回显
下拉列表:
<select name="category" id="category">
<option value="" selected="selected">--选择商品类别--</option>
<option value="文学">文学</option>
<option value="生活">生活</option>
<option value="外语">外语</option>
<option value="经营">经营</option>
<option value="励志">励志</option>
<option value="社科">社科</option>
<option value="学术">学术</option>
</select>
<body>标签绑定onload事件:
<body οnlοad="setProductCategory('${product.category}')">
${product.category }为后台传过来的要默认选中的条目
JS代码:
function setProductCategory(t) {
var category = document.getElementById("category");
var ops = category.options;
for ( var i = 0; i < ops.length; i++) {
if (ops[i].value == t) {
ops[i].selected = true;
return;
}
}
};
上面写的是固定下拉列表的默认选中实现,接下来说一下动态下拉列表默认选中的实现:
相对于上面的,这个就更加简单了:
<select name="dept_id" style="width:100px;">
<option value="">--部门选择--</option>
<c:forEach items="${requestScope.depts }" var="dept">
<c:choose>
<c:when test="${employee.dept.id == dept.id }">
<option value="${dept.id }" selected>${dept.name }</option>
</c:when>
<c:otherwise>
<option value="${dept.id }">${dept.name }</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
- ${requestScope.depts }:后台传过来的部门列表
- employee.dept.id:默认要选中的部门的id
- dept.id:当前遍历到的部门的id