附上关键代码
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或者空着
});