ztree异步加载数据&&给父节点动态追加子节点

对于ztree,整了两天了,在数据库中查出json符合格式的数据,这很好整,但是在ztree追加时出现重复节点,找了半天资源,最终还是用ztree自带的异步加载解决问题,特此记录一下下!!如果不足请指出(一种颜色是一段)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="../common/common.jsp"%>
<%@ taglib uri="/WEB-INF/PageInfo.tld" prefix="m"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<%@ include file="../common/head.html"%>
<style>
.main {
    text-align: center; /*让div内部文字居中*/
    background-color: #cfdbdb;
    border-radius: 20px;
    width: 300px;
    height: 320px;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
</style>
</head>
<body>
<!--跑马灯-->
<marquee width=100%,height=200 scrollamount=15 bgcolor=#97FFFF> <a href=#><FONT face=楷体_GB2312 color=#383838 size=3 >从当前选中用户${JyMember.username }开始,仅支持向下查看7级(含自己)</a></marquee>

<!--设置div的参数-->
<div class="main">
        <div>
            <ul id="treeFenXiao" class="ztree"></ul>
        </div>
    </div>
    


</body>
</html>
<%@ include file="../common/bottom.html"%>
    <script type="text/javascript">
    
    var setting = {
            async : {
                enable : true,//是否为异步加载
                url : "<%=basePath%>/manger/jyMember/xia.do",//相关的请求网址,此请求是等初始化的ajax加载完后才会去执行
                autoParam:['id','${JyMember.id }'],  //请求携带的参数
                type:"post",
                dataFilter: filter  //请求成功后处理方法
            },
            data: {
                simpleData: {
                    enable:true,//设置简单数据类型
                    idKey: "id",  //自己的id
                    pIdKey: "pId", //父id
                    rootPId:0    //根节点id
                }
            },
             view:{
                    showIcon: false  //true / false 分别表示 显示 / 隐藏 图标
                }
            
    }

    

    function filter(treeId, parentNode, childNodes) {//childNodes返回的参数在此处
        if (childNodes.xia) {
            console.log(childNodes.xia)
             $(function() {
                 var treeObj = $.fn.zTree.getZTreeObj("treeFenXiao");// 传入参数为ul的id    
                 var selectedNode = treeObj.getSelectedNodes();
                 var newNodes =childNodes.xia ;
                        newNode = treeObj.addNodes(parentNode, newNodes);
        });
        }
   // return childNodes;//此处注掉对我没用
}

    $(function() {
         initZTree();//初始化树
        
    })
    //初始化树
function initZTree(){
    $.ajax({
          url:"<%=basePath%>/manger/jyMember/xiaChu.do?id=${JyMember.id }",//加载基础节点数据
          type:"post",
          dataType: "json",
          success: function(data){//数据成功后展开这些基础数据
              console.log(data.chushi);
              var zTreeObj = $.fn.zTree.init($("#treeFenXiao"),setting, data.chushi);
              //让第一个父节点展开
              var rootNode_0 = zTreeObj.getNodeByParam('pid',0,null);
              zTreeObj.expandNode(rootNode_0, true, false, false, false);
          },
          error: function(){
              
          }
      });
}

    </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值