下拉列表默认选中指定条目的实现

适用场景:

搜索条件的回显

下拉列表:

<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 onload="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

猜你喜欢

转载自blog.csdn.net/qq_39056805/article/details/80393914
今日推荐