zTree使用

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

第一步先导入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增删改以及选中的代码

  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. * 删除子节点 --选中节点
  28. * @param obj
  29. */
  30. function removeZTreeNodeBySelect() {
  31. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  32. var nodes = zTree.getSelectedNodes(); //获取选中节点
  33. for (var i=0;i<nodes.length; i++) {
  34. zTree.removeNode(nodes[i]);
  35. }
  36. }
  37.  
  38. /**
  39. * 删除子节点 --勾选节点
  40. * @param obj
  41. */
  42. function removeZTreeNodeByChecked() {
  43. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  44. var nodes = zTree.getCheckedNodes(true); //获取勾选节点
  45. for (var i=0;i<nodes.length; i++) {
  46. zTree.removeNode(nodes[i]);
  47. }
  48. }
  49.  
  50. /**
  51. * 根据节点id 批量删除子节点
  52. * @param obj
  53. */
  54. function removeZTreeNodebPi(obj) {
  55. var idnodes = obj.split(",");
  56. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  57. var nodes = zTree.getSelectedNodes();
  58. for (var i=0;i<nodes.length; i++) {
  59. var nodes = zTree.getNodeByParam("id", nodes[i]);
  60. zTree.removeNode(nodes);
  61. }
  62. }
  63. /**
  64. * 选择节点
  65. * @param obj
  66. */
  67. function selectzTreeNode(obj) {
  68. var zTree = $.fn.zTree.getZTreeObj("regionZTree");
  69. var node = zTree.getNodeByParam("id",obj);
  70. if(node!=null) {
  71. zTree.selectNode(node, true);//指定选中ID的节点
  72. }
  73. }

zTree基础的更多相关文章

  1. js插件ztree使用

    最新给公司后台写了一个配置页面,在网上搜到一个js插件ztree,记录一下使用心得. 首先说一下ztree官网,好多方法我都是从官网api上学习的,官网地址http://www.treejs.cn/v ...

  2. sqlalchemy tree 树形分类 无限极分类的管理。预排序树,左右值树。sqlalchemy-mptt

    简介: 无限极分类是一种比较常见的数据格式,生成组织结构,生成商品分类信息,权限管理当中的细节权限设置,都离不开无限极分类的管理. 常见的有链表式,即有一个Pid指向上级的ID,以此来设置结构.写的时 ...

  3. 项目一:项目第二天 Jquery ztree使用展示菜单数据 2、 基础设置需求分析 3、 搭建项目框架环境--ssh(复习) 4、 SpringData-JPA持久层入门案例(重点) 5、 Easyui menubutton菜单按钮使用 6、 Easyui messager消息框使用

    1. Jquery ztree使用展示菜单数据 2. 基础设置需求分析 3. 搭建项目框架环境--ssh(复习) 4. SpringData-JPA持久层入门案例(重点) 5. Easyui menu ...

  4. zTree 循环树

    /// <summary> /// 初始化第一次节点加载 /// </summary> /// protected string _menu = string.Empty; p ...

  5. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  6. Ztree使用

    基础: <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type ...

  7. JeeSite 企业信息管理系统基础框架

    1. JeeSite概述 1.1. 简介 JeeSite是一个开源的企业信息管理系统基础框架.主要定位于“企业信息管理”领域,可用作企业信息管理类系统.网站后台管理类系统等.JeeSite是非常强调开 ...

  8. 前框 (一个)zTree 从数据库树形菜单动态加载

    这些天做动态菜单使用此插件.现在有一个非常广泛的开源框架,最新QUI框架是菜单部分使用这个插件开发,因此,它是非常值获取深入的研究和探讨,通过使用非常丰富的感觉功能,己开发和编写,官网上有非常详尽的A ...

  9. Jquery ztree树插件2

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

随机推荐

  1. codeforces401C

    Team CodeForces - 401C Now it's time of Olympiads. Vanya and Egor decided to make his own team to ta ...

  2. [离散时间信号处理学习笔记] 10. z变换与LTI系统

    我们前面讨论了z变换,其实也是为了利用z变换分析LTI系统. 利用z变换得到LTI系统的单位脉冲响应 对于用差分方程描述的LTI系统而言,z变换将十分有用.有如下形式的差分方程: $\displays ...

  3. [UOJ86]mx的组合数——NTT+数位DP+原根与指标+卢卡斯定理

    题目链接: [UOJ86]mx的组合数 题目大意:给出四个数$p,n,l,r$,对于$\forall 0\le a\le p-1$,求$l\le x\le r,C_{x}^{n}\%p=a$的$x$的 ...

  4. POJ1015-Jury Compromise-dp

    略复杂的dp题. 有n个人,每个人有两个分数di,pi.从中选出m个人,要求|sigma(di)-sigma(pi)|最小,相同时则输出sigma(di)+sigma(pi)最大的情况. 答案完整输出 ...

  5. ☆ [POJ2411] Mondriaan's Dream 「状压DP」

    传送门 >Here< 题意:用1*2的砖块铺满n*m的地板有几种方案 思路分析 状压经典题! 我们以$f[i][j]$作为状态,表示第i行之前全部填完并且第i行状态为j(状压)时的方案数. ...

  6. 【XSY1476】平凡之路 斜率优化DP

    题目大意 有\(n\)个格子,一开始你在\(1\)号格子.每次你只能往编号更大的格子走.从第\(i\)个格子走到第\(j\)个格子的代价是\(a_i+a_j\times(j-i)\times m\) ...

  7. 微信小程序Dom事件实现

    面对微信小程序,可能没有像我们平时使用JQuery那样随心所欲.本篇就是为了解决这个问题. 请合理使用工具! 细节就不说了,直接备份一个实现的案例: wxml <view class=" ...

  8. pycharm修改注释颜色

    原来的注释是红色的,看着跟报错似的.. 还有flask中html文件的注释,我修改了Django的注释颜色,flask也就改了 也可以直接点击下面的代码,哪里难看点哪里

  9. Android 错误提示: Can't create handler inside thread that has not called Looper.prepare()

    Can't create handler inside thread that has not called Looper.prepare() 将 Handler handler = new Hand ...

  10. Android assets res 文件夹的区别

    大家都知道建立一个Android项目后会产生assets与res的两个文件夹,理论上他们都是存放资源的文件夹,那么他们到底有什么区别呢? 1.assets:不会在R.java文件下生成相应的标记,存放 ...