ztree异步加载,勾选父节点自动加载子节点并选中

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013967628/article/details/80818203

附上关键代码

  var setting = {
        //勾选框
        check: {
            enable: true,
            chkboxType: {"Y":"s", "N":"ps"}
        },

        data : {
            key:{
                name:"name"
            },
            simpleData : {
                enable : true,//JSON格式采用简单数组格式
                idKey:"id",
                pIdKey:"pid"
            }
        },

        async: {
            enable: true,
            url:"contentGroup/getNodesByAsync",
            autoParam:["id"/*, "pid", "name"*/],//自动提交的参数(可提交多个)
            dataFilter: filter  //异步返回后经过Filter
        },
        callback : {
            onAsyncSuccess: zTreeOnAsyncSuccess,//异步加载完成调用
            aOnAsyncError : zTreeOnAsyncError,//加载错误的fun
            onCheck : onCheck
        },
        view:{
        	showIcon: false
        }
    };
    
    function onCheck(event, treeId, treeNode){
		var zTree = $.fn.zTree.getZTreeObj("treeDemo");
		if(treeNode.isParent){
			if (!treeNode.open){
				zTree.expandNode(treeNode, true, true, false);
				onExpand(event, treeId, treeNode);
				setTimeout(function(){
				var children=treeNode.children;
				for(var i=0;i<children.length;i++){
					if(children[i].isParent ){
						zTree.expandNode(children[i], false, false, false);
						}
					}
				//zTree.expandNode(treeNode, false, false, false);
				},500);//延时1秒
			}else{
				var children=treeNode.children;
				for(var i=0;i<children.length;i++){
					if(children[i].isParent ){
						if (!children[i].open){
						zTree.expandNode(children[i], true, true, false);
						onExpand(event, treeId, children[i]);
						}
					}
				}
				setTimeout(function(){
					var children=treeNode.children;
					for(var i=0;i<children.length;i++){
						if(children[i].isParent ){
						zTree.expandNode(children[i], false, false, false);
						}
					}
				},500);//延时1.5秒
			}
		} 
};
		    
    function onExpand(event, treeId, treeNode) {
		var zTree = $.fn.zTree.getZTreeObj("treeDemo");
		var checked=treeNode.checked;
		setTimeout(function(){
			var children=treeNode.children;
			for(var i=0;i<children.length;i++){
				zTree.checkNode(children[i],checked,checked);
				if(children[i].isParent){
				if (!children[i].open){
						zTree.expandNode(children[i], true, true, false);
						onExpand(event, treeId, children[i]);
						zTree.expandNode(children[i], false, false, false);
					}
				}
			}
		},500);//延时0.5秒
	};

    /* 获取返回的数据,进行预操作,treeId是treeDemo,异步加载完之后走这个方法,responseData为后台返回数据  */
    function filter(treeId, parentNode, responseData) {
//        responseData = responseData.jsonArray;
        if (!responseData){
            return null;
        }
        return responseData;
    }

    //异步加载完成时运行
    function zTreeOnAsyncSuccess(event, treeId, treeNode, msg)  {
    }
    //异步加载失败
    function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown)  {
        alertMsg.error("异步加载节点失败!");
    }

    $(document).ready(function(){
     	$.ajaxSettings.global=false;
        $.fn.zTree.init($("#treeDemo"), setting);//异步获取json格式数据,第三个参数传null或者空着
    });

猜你喜欢

转载自blog.csdn.net/u013967628/article/details/80818203