版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/csdnluolei/article/details/86475947
一、了解ZTree
zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。zTree 是开源免费的软件。
- zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载
- 采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀
- 兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器
- 支持 JSON 数据
- 支持静态 和 Ajax 异步加载节点数据
- 支持任意更换皮肤 / 自定义图标(依靠css)
- 支持极其灵活的 checkbox 或 radio 选择功能
- 提供多种事件响应回调
- 灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽哟
- 在一个页面内可同时生成多个 Tree 实例
- 简单的参数配置实现 灵活多变的功能
二、使用Demo
此demo参考 http://www.treejs.cn/v3/demo.php#_602
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> ZTree使用Demo</TITLE>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.core.js"></script>
<script type="text/javascript" src="../../../js/jquery.ztree.excheck.js"></script>
<SCRIPT type="text/javascript">
$(function(){//在页面调用方法,不能直接调用
zTreeInit();
});
function zTreeInit(){
var zNodes =[
{ id:1, pId:0, name:"can check 1", open:true},
{ id:11, pId:1, name:"can check 1-1", open:true},
{ id:111, pId:11, name:"can check 1-1-1"},
{ id:112, pId:11, name:"can check 1-1-2"},
{ id:12, pId:1, name:"can check 1-2", open:true},
{ id:121, pId:12, name:"can check 1-2-1"},
{ id:122, pId:12, name:"can check 1-2-2"},
{ id:2, pId:0, name:"can check 2", checked:true, open:true},
{ id:21, pId:2, name:"can check 2-1"},
{ id:22, pId:2, name:"can check 2-2", open:true},
{ id:221, pId:22, name:"can check 2-2-1", checked:true},
{ id:222, pId:22, name:"can check 2-2-2"},
{ id:23, pId:2, name:"can check 2-3"}
];
var setting = {
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
},
callback:{
onCheck:onCheck
}
};
var tree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
//不选择父节点
tree.setting.check.chkboxType = { "Y" : "ps", "N" : "ps" };
// 默认展开全部节点
tree.expandAll(true);
}
function onCheck(e,treeId,treeNode){debugger
var treeObj=$.fn.zTree.getZTreeObj("treeDemo");
var nodes=treeObj.getCheckedNodes(true);
$.each(nodes, function(k, v){
console.log("id="+ v.id +";name="+ v.name); //获取选中节点的值
});
}
</SCRIPT>
</HEAD>
<BODY>
<h1>ZTree使用Demo</h1>
<div id="treeDemo" class="ztree"></div>
</BODY>
</HTML>