jquery. ztree 初始化的时候先获取了一部分节点数据显示树结构,当点击每个节点的时候需要

jquery.ztree初始化的时候先获取了一部分节点数据显示树结构,当点击每个节点的时候需要进行异步加载其他类型节点,现在点击节点并没有执行异步加载,而只展开了初始化出... jquery. ztree 初始化的时候先获取了一部分节点数据显示树结构,当点击每个节点的时候需要进行异步加载其他类型节点,现在点击节点并没有执行异步加载,而只展开了初始化出来的下面的子节点,怎么回事? 展开
 我来答
思绪無痕
推荐于2018-03-15 · TA获得超过1016个赞
知道小有建树答主
回答量:415
采纳率:57%
帮助的人:327万
展开全部

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;
}
ccfly1987
2018-03-15 · TA获得超过253个赞
知道小有建树答主
回答量:255
采纳率:83%
帮助的人:66.6万
展开全部
建议自己通过展开事件(beforeExpand)来做异步加载,各种需求都可以满足。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式