//使用c标签遍历list取值
<select name="hospital" class="form-control" onchange="changeHospital(this.options[this.options.selectedIndex].value)">
<option value="" label=" 请选择"/>
<c:forEach items="${hospitalList}" var="hospital">
<option value="${hospital.id}"> ${hospital.name}</option>
</c:forEach>
</select>
<span>科室:</span>
<select id="department" name="department" class="form-control ">
<option value="" label=" 请选择"/>
<c:forEach items="${DepartList}" var="depart">
<option value="${depart.id}"> ${depart.name}</option>
</c:forEach>
</select>
下面直接写function即可
</script>
function changeHospital(id){
if(id){//判断是否在请选择option
$.ajax({
type : "get",
url : "${ctx}/sys/office/listDepartmentByHosptial",
async : false,
data : {
"id" : id
},
success : function(data) {
//先清空原有数据
$("#department").html("");
if(data.length>=0){ //后台传递过来的list为一个array数组需要用length去接收长度。
var optionStr ='<option value="" label="请选择" />';
for(var i = 0; i < data.length; i++){
optionStr+="<option value='"+data[i].id+"'>"+data[i].name+"</option>";
}
$("#department").append(optionStr);
}
}
});
}
}
</script>
后台传递参数departmentId,前端默认选中状态
<select id="department" name="department" class="form-control ">
<option value="" label=" 请选择"/>
<c:forEach items="${DepartList}" var="depart">
<option value="${depart.id}" <c:if test="${departmentId == depart.id}"> selected="selected" </c:if>> ${depart.name}</option>
</c:forEach>
</select>