您的位置:首页 > 编程语言 > Java开发

Ajax+SpringMVC 二级联动

2016-05-31 11:34 429 查看
Ajax+SpringMVC 二级联动

效果:选中部门后,负责人下拉框选项中会出现该部门的所有人员



JSP部分

注:organizations为后端返回的List

<div class="form-group">
<label for="orgId" class="col-sm-3 control-label">所属部门</label>
<div class="col-sm-9">
<select class="selectpicker" multiple=""  id="orgId" name="orgId" data-width="100%">
<optgroup label="${organizations[0].orgName}">
<c:forEach var="organization" items="${organizations}" begin="1">
${organization.hierarchy}
<c:if test="${organization.hierarchy == 2}">
</optgroup>
<optgroup label="${organization.orgName}">
</c:if>
<option value="${organization.id}">${organization.orgName}</option>
</c:forEach>
</optgroup>
</select>
</div>
</div>


JS部分

$(function() {
$("#orgId").change(function() {// 改变组织框的值的时候,执行方法getUser();获取对应用户
getUser();
});

});
function getUser() {
var orgId = $("#orgId").find("option:checked").val();
if (orgId == null || orgId == "") {
return;
}
$.ajax({
type : 'get',
url : 'user/getUserByOrg',
async : false,
data : {
orgId : orgId,
},
success : function(msg) {
alert(msg);
if (msg.length > 0) {
for (i = 0; i < msg.length; i++) {
var responsibleUserId = msg[i].id;
var realName = msg[i].realName;

var $option = $("<option>").attr({
"value" : responsibleUserId
}).text(realName);
$("#responsibleUserId").append($option);
}
} else {
}
}
});
}


后端Java部分

// 显示默认的页面
@Override
@RequestMapping
public ModelAndView showDefaultPage(HttpSession session) {
// 获取所有科室。每个节点包含其层次信息
List<Organization> organizations = organizationBiz.getOrgExceptRoot();
ModelAndView mav = new ModelAndView();
mav.addObject("organizations", organizations);
mav.setViewName(defaultPage);
return mav;

}


/**获取组织下的用户*/
@RequestMapping("getUserByOrg")
@ResponseBody
public List<User> getUserByOrg(Integer orgId){
return biz.getUserByOrg(orgId);
}


另外可参考:

http://my.oschina.net/u/780884/blog/223595
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: