ztree用异步加载直接加载整棵树、通过简单加载整棵树,没能成功实现。后台想到了ajax请求,将返回值传到ztree的初始化代码中,搞定。看代码:
导入ztree需要的js和css文件:
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.4.4.min.js"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/zTreeStyle/zTreeStyle.css" type="text/css"/>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.ztree.core-3.5.min.js"></script>
html部分:
<ul id="tt" class="ztree" >正在加载中..</ul>
javascript:
<script type="text/javascript">
var setting = {
view: {
selectedMulti: false
},data: {
simpleData: {
enable: true
}
},callback: {
onClick: getUserByOrgNo
}
};
//根据orgno获取当前部门下的用户
function getUserByOrgNo(event, treeId, treeNode){
if(treeNode){
$("#orgno_hidden").val(treeNode.id);
$.post('${ctx}/aris/getUsersByOrgno.htm',{orgno:treeNode.id},function(data){
$("#users_div").html(data);
//将查询统计的条数放到人员列表后面
mappingCountNum();
});
}
}
$(document).ready(function(){
$.get('${pageContext.request.contextPath}/newsType/typeTreeData',{},function(data){
$.fn.zTree.init($("#tt"), setting,eval(data));
});
});
</script>
ps:$.fn.zTree.init($("#tt"), setting,eval(data)); eval()这个不能少,能自动将数据转化为json数据