jquery. ztree 初始化的时候先获取了一部分节点数据显示树结构,当点击每个节点的时候需要
jquery.ztree初始化的时候先获取了一部分节点数据显示树结构,当点击每个节点的时候需要进行异步加载其他类型节点,现在点击节点并没有执行异步加载,而只展开了初始化出...
jquery. ztree 初始化的时候先获取了一部分节点数据显示树结构,当点击每个节点的时候需要进行异步加载其他类型节点,现在点击节点并没有执行异步加载,而只展开了初始化出来的下面的子节点,怎么回事?
展开
2个回答
展开全部
ztree异步加载节点的时候需要提供一个url。
ztree初始化完会向这个url发送一次请求【注意这个时候是不会带参数的】。这个时候你需要返回给它你想要的节点。
ps:我是返回一个根节点给它。
然后在点击此时的节点时候,还是会向这个url发送请求【此时会带配置的参数】,如果你现在的处理方式和初始化之后那样,就还是返回你开始的那些节点给你。
所以,你需要根据不同的动作来处理你的返回值。
async : {
enable : true,
url : _map.url,//异步路径
autoParam : ["id","name" ],//请求携带节点上的属性值
dataFilter : function(treeId, parentNode, childNodes) {
if (!childNodes)return null;
for (var i = 0, l = childNodes.length; i < l; i++) {
var _c=childNodes[i];
_c.isParent=_c.parent;
childNodes[i].name = _c.name.replace(/\.n/g, '.');
}
return childNodes;
}
},
//只是提供处理思路 不需要copy
@RequestMapping("/getOrg")
@ResponseBody
public List<ObjectTypeBean> getOrg(HttpServletRequest request,ObjectTypeBean bean,@RequestParam Map<String,String> para) {
List<OrgBo> list = new ArrayList<OrgBo>();
if(para.size()<1){
OrgBo bo = null;
bo = orgService.getOrgByNo(GlobalValue.ORGROOT);
list.add(bo);
}else{
String id = para.get("id");//根据父节点ID获取子节点
list = orgTreeService.getChildOrgsForTree(id,Constants.DEFAULT_ORG_RELA_TYPE);//orgSpiService.getChildOrgs(id, "");
}
List<ObjectTypeBean> _list = new ArrayList<ObjectTypeBean>(list.size());
for(OrgBo _b : list){
_list.add(new ObjectTypeBean(_b.getNo(), _b.getParentNo(), _b.getShortName(),!_b.isLeaf()));
}
return _list;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询