zTree基础

时间:2023-03-10 04:38:03
zTree基础

zTree使用

zTree 是一个依靠 jQuery 实现的多功能 “树插件”, 而且拥有较好的浏览器兼容性,有着丰富的功能以及可以自定义样式,足以满足大部分业务的开发。

zTree基础

第一步先导入css及js文件

  1. <link rel="stylesheet" type="text/css" href="zTree/css/zTreeStyle/zTreeStyle.css">
  2. <script type="text/javascript" src="zTree/js/jquery.ztree.all.min.js"></script>

第二步在html页面创建ztree Div

  1. <div>
  2. <ul id="regionZTree" class="ztree"></ul>
  3. </div>

第三步初始化ztree

  1. var setting = {
  2. view: {
  3. dblClickExpand: false,//双击节点时,是否自动展开父节点的标识
  4. showLine: true,//是否显示节点之间的连线
  5. fontCss:{'color':'black','font-weight':'bold'},//字体样式函数
  6. selectedMulti: true //设置是否允许同时选中多个节点
  7. },
  8. check:{
  9. //chkboxType: { "Y": "ps", "N": "ps" },
  10. chkboxType: { "Y": "", "N": "" },
  11. chkStyle: "checkbox",//复选框类型
  12. enable: true //每个节点上是否显示 CheckBox
  13. },
  14. edit:{
  15. enable: true,
  16. editNameSelectAll: true,
  17. showRemoveBtn : true,
  18. showRenameBtn : true,
  19. removeTitle : "remove",
  20. renameTitle : "rename"
  21. },
  22. data: {
  23. simpleData: {//简单数据模式
  24. enable:true,
  25. idKey: "id",
  26. pIdKey: "IPARENTID",
  27. rootPId: null
  28. }
  29. },
  30. callback: {
  31. beforeExpand:zTreeBeforeExpand, // 用于捕获父节点展开之前的事件回调函数,并且根据返回值确定是否允许展开操作
  32. }
  33. };
  34. zTreeObj = $.fn.zTree.init($("#regionZTree"), setting, dominZTree);

下面是ztree操作的效果图

zTree基础

下面是ztree增删改以及选中的代码

  1. /**
  2. * 添加节点
  3. * @param obj
  4. */
  5. function addZTreeNode(obj) {
  6. var treeObj = $.fn.zTree.getZTreeObj("regionZTree");
  7. var parentZNode = treeObj.getSelectedNodes(); //获取父节点
  8. var newNode = obj;
  9. newNode.nodeFlg = 1; // 可以自定义节点标识
  10. newNode = treeObj.addNodes(parentZNode[0], newNode,true);
  11. }
  12. /**
  13. * 修改子节点
  14. * @param obj
  15. */
  16. function editZTreeNode(obj) {
  17. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  18. var nodes = zTree.getSelectedNodes();
  19. for(var i = 0;i<nodes.length;i++)
  20. {
  21. nodes[i].name = obj;
  22. zTree.updateNode(nodes[i]);
  23. }
  24. }
  25. /**
  26. * 删除子节点 --选中节点
  27. * @param obj
  28. */
  29. function removeZTreeNodeBySelect() {
  30. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  31. var nodes = zTree.getSelectedNodes(); //获取选中节点
  32. for (var i=0;i<nodes.length; i++) {
  33. zTree.removeNode(nodes[i]);
  34. }
  35. }
  36. /**
  37. * 删除子节点 --勾选节点
  38. * @param obj
  39. */
  40. function removeZTreeNodeByChecked() {
  41. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  42. var nodes = zTree.getCheckedNodes(true); //获取勾选节点
  43. for (var i=0;i<nodes.length; i++) {
  44. zTree.removeNode(nodes[i]);
  45. }
  46. }
  47. /**
  48. * 根据节点id 批量删除子节点
  49. * @param obj
  50. */
  51. function removeZTreeNodebPi(obj) {
  52. var idnodes = obj.split(",");
  53. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  54. var nodes = zTree.getSelectedNodes();
  55. for (var i=0;i<nodes.length; i++) {
  56. var nodes = zTree.getNodeByParam("id", nodes[i]);
  57. zTree.removeNode(nodes);
  58. }
  59. }
  60. /**
  61. * 选择节点
  62. * @param obj
  63. */
  64. function selectzTreeNode(obj) {
  65. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  66. var node = zTree.getNodeByParam("id",obj);
  67. if(node!=null) {
  68. zTree.selectNode(node, true);//指定选中ID的节点
  69. }
  70. }