function
getAllChildrenNodes(treeNode,result){
if
(treeNode.isParent) {
var
childrenNodes = treeNode.children;
if
(childrenNodes) {
for
(
var
i = 0; i < childrenNodes.length; i++) {
if
(!childrenNodes[i].children){
result.push(childrenNodes[i].name);
}
result = getAllChildrenNodes(childrenNodes[i], result);
}
}
}
return
result;
}
var
parames = 3;
var
setting = {
treeId:
""
,
treeObj:null,
async:{
enable: true,
url:
"./zTreeDemoV9.0SimpleFromV10.0.php"
,
type:
"post"
,
autoParam: [
"id"
],
otherParam:[
"json"
,parames || 1,
"test"
,
"2"
],
dataType:
"json"
,
contentType:
"application/x-www-form-urlencoded"
,
dataFilter:
function
(treeId,parentNode,responseData){
for
(
var
i=0;i<responseData.length;i++){
responseData[i] = JSON.parse(responseData[i])
}
return
responseData;
}
},
data: {
simpleData: {
enable: true,
idKey:
"id"
,
pIdKey:
"pid"
,
rootPId: 0
}
},
view: {
showIcon: false,
fontCss: {
}
},
check: {
enable: true,
chkboxType: {
"Y"
:
"ps"
,
"N"
:
"ps"
}
},
callback: {
beforeCheck:
function
(treeId, treeNode){
if
(treeNode.isParent && !treeNode.children){
return
false;
}
},
onAsyncError:
function
(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown){
alert(
"初始化节点数据失败,请稍后重试"
);
},
onAsyncSuccess:
function
(event, treeId, treeNode, resData){
var
zTree = $.fn.zTree.getZTreeObj(
"treeDemo"
);
console.log(
"数据加载成功"
);
var
count
= (treeNode.children.length);
$(
".ztree"
).find(
"a[title="
+treeNode.name+
"]"
).find(
"span[class='node_name']"
).html(treeNode.name+
"<span>("
+
count
+
")</span>"
);
},
onExpand:
function
(event, treeId, treeNode){
var
zTree = $.fn.zTree.getZTreeObj(
"treeDemo"
);
var
nowId = treeNode.id;
var
allNodes = zTree.getNodes();
var
level = treeNode.level;
function
filter(node) {
return
(node.level == treeNode.level && node.isParent);
}
var
sameLevelNodes = zTree.getNodesByFilter(filter);
for
(
var
i=0;i<sameLevelNodes.length;i++){
if
(sameLevelNodes[i].id != nowId){
zTree.expandNode(sameLevelNodes[i], false, true, true);
}
}
},
onClick:
function
(e, treeId, treeNode, clickFlag) {
var
zTree = $.fn.zTree.getZTreeObj(
"treeDemo"
);
if
(!treeNode.isParent || (treeNode.isParent && treeNode.open)){
zTree.checkNode(treeNode, !treeNode.checked, true);
}
zTree.expandNode(treeNode, true, true, true);
zTree.setting.callback.onExpand(e, treeId, treeNode);
zTree.setting.callback.onCheck(e, treeId, treeNode);
},
onCheck:
function
(e, treeId, treeNode) {
var
rightLi = $(
"#ulright"
).find(
"li"
);
if
(!treeNode.isParent){
if
(treeNode.checked){
for
(
var
i=0;i<rightLi.length;i++){
if
($(rightLi[i]).attr(
"title"
) == treeNode.name){
return
;
}
}
var
addLi = $(
"<li title="
+treeNode.name+
"><span></span>"
);
addLi.find(
"span"
).text(treeNode.name);
addLi.animate({
width:
"100%"
,
height:
"30"
},400)
addLi.appendTo($(
"#ulright"
));
if
(treeNode.connect){
for
(
var
i=0;i<rightLi.length;i++){
if
($(rightLi[i]).attr(
"title"
) == treeNode.connect){
return
;
}
}
var
addLi = $(
"<li title="
+treeNode.connect+
"><span></span>"
);
addLi.find(
"span"
).text(treeNode.connect);
addLi.animate({
width:
"100%"
,
height:
"30"
},400)
addLi.appendTo($(
"#ulright"
));
}
$(
"#treeDemo"
).find(
"a[title="
+treeNode.name+
"]"
).css(
"backgroundColor"
,
"#00b6ba"
);
}
else
{
$(
"#ulright"
).find(
"li[title="
+treeNode.name+
"]"
).animate({
width:
"0%"
,
height:
"0"
},400,
function
(){
$(
"#ulright"
).find(
"li[title="
+treeNode.name+
"]"
).remove();
})
$(
"#treeDemo"
).find(
"a[title="
+treeNode.name+
"]"
).css(
"backgroundColor"
,
""
);
}
}
else
{
var
addNodesArray = getAllChildrenNodes(treeNode,[]);
if
(treeNode.checked){
var
rightLiArray = [];
$(
"#ulright li"
).each(
function
(i,v){
rightLiArray.push($(v).attr(
"title"
))
})
rightLiArray = rightLiArray.slice(1);
for
(
var
i=0;i<addNodesArray.length;i++){
if
(rightLiArray.indexOf(addNodesArray[i]) == -1){
var
addLi = $(
"<li title="
+addNodesArray[i]+
"><span>"
+addNodesArray[i]+
"</span>"
);
addLi.animate({
width:
"100%"
,
height:30
},400)
addLi.appendTo($(
"#ulright"
));
}
$(
"#treeDemo"
).find(
"a[title="
+addNodesArray[i]+
"]"
).css(
"backgroundColor"
,
"#00b6ba"
);
}
}
else
{
for
(
var
i=0;i<addNodesArray.length;i++){
$(
"#ulright"
).find(
"li[title="
+addNodesArray[i]+
"]"
).animate({
width:
"0%"
,
height:0
},
function
(){
$(this).css(
"display"
,
"none"
);
$(this).remove();
})
$(
"#treeDemo"
).find(
"a[title="
+addNodesArray[i]+
"]"
).css(
"backgroundColor"
,
""
);
}
}
}
},
}
};
var
zNodes = [{
name:
"数据表"
,
id: 4,
isParent:true,
pid:0
},{
name:
"测试表"
,
id: 1,
isParent:true,
pid:0
},{
name:
"信息表"
,
id: 2,
isParent:true,
pid:0
},{
name:
"作废表"
,
id: 3,
isParent:true,
pid:0
}];
$(document).ready(
function
() {
$.fn.zTree.init($(
"#treeDemo"
), setting, zNodes);
});