親ノードztreeが非同期的に自動的にチェックにロードすると、すべての子ノードをチェックします

キーコード:

//选择样本模板树
    VAR model_sample_ztree、model_sample_zNode。
    = {VARのmodelsample_setting
            {:非同期
                真:有効
                、 "管理/サンプル/ modelSampleList":URLを
                autoParam:[ "ID"、 "レベル= LV"]
            }、
            チェック:{
                イネーブル:真、
                chkboxType:{ "Y": "PS"、 "N": "PS"}
            }
            データ:{
                 simpleData:{
                        イネーブル:真、
                        IDKEY: "ID"、// ID编号命名默认
                        PIDKEY: "PID"、

                    }  
            }、
            コールバックは:{    
                onAsyncSuccess:zTreeOnAsyncSuccess、//ツリーが正常にコールバック関数をロード
            }
    }。

ロードに成功したコールバック関数

/**
	* 加载成功的回调函数 
	* 树第一次加载成功则强制异步加载子节点
	* 展开其下面的子节点
	*/
	function zTreeOnAsyncSuccess(){
		//防止数据量过大,延迟加载
		 setTimeout(function(){		
		    var treeObj =  $.fn.zTree.getZTreeObj("ztree_modelsample");
		    var rootNodes = treeObj.transformToArray(treeObj.getNodes());
		    //循环判断该节点是否已加载子节点,是则进入下一次循环,否则加载子节点,确保加载子节点只加载一次,若加载多次会影响效率
		    for(var i=0; i<rootNodes.length; i++){
		        if(rootNodes[i].zAsync == false)
		            treeObj.reAsyncChildNodes(rootNodes[i], "refresh",true);    
		        else continue;
		    }
		  },1000);
	}

 

おすすめ

転載: blog.csdn.net/weixin_42656571/article/details/90770497