1、基本使用
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="plugins/ztree/css/metroStyle/metroStyle.css"/>
<script src="plugins/jquery/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
<script src="plugins/ztree/js/jquery.ztree.all.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<ul id="treeDemo" class="ztree"></div>
</body>
<script type="text/javascript">
var setting = {
view: {
fontCss: getFont, //自定义颜色
showLine: false, //不显示连接线
showIcon: false, //不显示图标
},
data: {
simpleData: {
enable: true
}
},
callback: {
onClick: onClick
}
};
var zNodes =[
{
//自定义图标
id:1, pId:0, name:"父节点1 - 展开", open:true, icon: "plugins/ztree/css/zTreeStyle/img/diy/2.png"
},{
//自定义图标
id:11, pId:1, name:"父节点11 - 折叠",
iconOpen: "plugins/ztree/css/zTreeStyle/img/diy/1_open.png",
iconClose: "plugins/ztree/css/zTreeStyle/img/diy/1_close.png"
},{
//自定义颜色
id:111, pId:11, name:"叶子节点111", font:{'color':'red'}
},
{ id:112, pId:11, name:"叶子节点112"},
{ id:113, pId:11, name:"叶子节点113"},
{ id:114, pId:11, name:"叶子节点114"},
{ id:12, pId:1, name:"父节点12 - 折叠"},
{ id:121, pId:12, name:"叶子节点121"},
{ id:122, pId:12, name:"叶子节点122"},
{ id:123, pId:12, name:"叶子节点123"},
{ id:124, pId:12, name:"叶子节点124"},
{ id:13, pId:1, name:"父节点13 - 没有子节点", isParent:true},
{ id:2, pId:0, name:"父节点2 - 折叠"},
{ id:21, pId:2, name:"父节点21 - 展开", open:true},
{ id:211, pId:21, name:"叶子节点211"},
{ id:212, pId:21, name:"叶子节点212"},
{ id:213, pId:21, name:"叶子节点213"},
{ id:214, pId:21, name:"叶子节点214"},
{ id:22, pId:2, name:"父节点22 - 折叠"},
{ id:221, pId:22, name:"叶子节点221"},
{ id:222, pId:22, name:"叶子节点222"},
{ id:223, pId:22, name:"叶子节点223"},
{ id:224, pId:22, name:"叶子节点224"},
{ id:23, pId:2, name:"父节点23 - 折叠"},
{ id:231, pId:23, name:"叶子节点231"},
{ id:232, pId:23, name:"叶子节点232"},
{ id:233, pId:23, name:"叶子节点233"},
{ id:234, pId:23, name:"叶子节点234"},
{ id:3, pId:0, name:"父节点3 - 没有子节点", isParent:true}
];
//自定义颜色
function getFont(treeId, node) {
return node.font ? node.font : {};
}
//单击展开折叠
function onClick(e,treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.expandNode(treeNode);
}
$(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
})
</script>
</html>
2、异步请求
<script type="text/javascript">
//传递的三个参数和一个自定义参数
var setting = {
async: {
enable: true,
url:"http://localhost:8081/demo/tree/datalist",
autoParam:["id=customId", "name=customName", "level=customLevel"],
otherParam:{"customParam":"customValue"},
},
callback: {
beforeAsync: beforeAsync,
onAsyncError: onAsyncError,
onAsyncSuccess: onAsyncSuccess
}
};
function beforeAsync(treeId, treeNode) {
console.log("beforeAsync");
return true;
}
function onAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
console.log("onAsyncError");
}
function onAsyncSuccess(event, treeId, treeNode, msg) {
console.log("onAsyncSuccess");
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting);
});
</script>
3、折叠展开
<script type="text/javascript">
/**
* 全部折叠
*/
function collapseAll(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.expandAll(false);
}
/**
* 全部展开
*/
function expandAll(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.expandAll(true);
}
/**
* 折叠第一级
*/
function collapseFirstLevel(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = getNodesByLevel(0);
for(var i=0; i<nodes.length; i++){
zTree.expandNode(nodes[i], false, null, null, false);
}
}
/**
* 展开第一级
*/
function expandFirstLevel(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = getNodesByLevel(0);
for(var i=0; i<nodes.length; i++){
zTree.expandNode(nodes[i], true, null, null, false);
}
}
/**
* 根据级别获取元素
*/
function getNodesByLevel(level){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
return zTree.getNodesByParam("level", level);
}
$(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
})
</script>
4、checkbox
<script type="text/javascript">
var setting = {
check: {
enable: true,
chkboxType: {
"Y":"ps", "N":"ps"
}
}
};
var zNodes =[
{ id:1, pId:0, name:"父节点1 - 展开", open:true },
//根据情况设置checked属性
{ id:13, pId:1, name:"父节点13 - 没有子节点", isParent:true, checked: true},
];
//获取选中的元素
function getCheckedNodes(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = zTree.getCheckedNodes(true);
console.log(nodes);
}
//获取未选中的元素
function getUnCheckedNodes(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = zTree.getCheckedNodes(false);
console.log(nodes);
}
$(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
})
</script>