ztree初体验

标签(空格分隔): js


zTree是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件。整个zTree的页面显示核心。

1,引入zTreeStyle.cssjquery.ztree.core.min.js以及jquery.ztree.excheck.min.js
2,准备好dom元素,也就是用于显示ztree的容器
<ul id="detCaseMeansTree" class="ztree list-auto"></ul>
3,在js中设置setting值
4,给zNodes赋值,zNodes就是用于填充Setting中定义的树的数据源
5,初始化树$.fn.zTree.init($("#" + treeId), setting2, zNodes2);

具体demo

  var crimeMeansData = [];
  var msgCaseMeans = "";
  var arrCaseMeans = [];

  function getCrimeMeansData(treeId) {
    var setting1 = {
      view: {
        showIcon: false, //是否显示文件夹图标
        showLine: false //是否显示连接线
      },
      check: {
        enable: true,
        chkboxType: {
          "Y": "p",
          "N": "s"
        } //Y:勾选(参数:p:影响父节点),N:不勾(参数s:影响子节点)[p 和 s 为参数]
      },
      data: {
        simpleData: {
          enable: true
        }
      },
      callback: {
        beforeCheck: true,
        onCheck: getCheckedAll,
      }
    };
    var zNodes1 = [];
    crimeMeansData = crimeMeans.para;
    getFormatData(crimeMeansData, zNodes1);//处理数据
    $.fn.zTree.init($("#" + treeId), setting1, zNodes1);
  }
  function getCheckedAll(event, treeId, treeNode) {
    var treeObj = $.fn.zTree.getZTreeObj(treeId); //detCaseMeansTree
    var nodes = treeObj.getCheckedNodes(true);
    var caseMeansArr = [];
    msgCaseMeans = "";
    arrCaseMeans = [];
    for (var i = 0; i < nodes.length; i++) {
      caseMeansArr.push(nodes[i].name);
    }
    if (caseMeansArr) {
      for (var item in caseMeansArr) {
        var caseMeansItem = caseMeansArr[item].split("|");
        msgCaseMeans += caseMeansItem[1] + " ";
        arrCaseMeans.push(caseMeansItem[0]);

      }

    }
  }


function getFormatData(data, zNodes) {
    for (var i = 0; i < data.length; i++) {
      var twoTier = data[i].childs;
      var temp1 = {
        "name": data[i].code + '|' + data[i].name,
        "id": data[i].id,
        "pId": data[i].parentId,
        "isParent": true,
          "open": false//默认是否打开树
      };
      zNodes.push(temp1);
      for (var j = 0; j < twoTier.length; j++) {
        var threeTier = twoTier[j].childs;
        var temp2 = {
          "name": twoTier[j].code + '|' + twoTier[j].name,
          "id": twoTier[j].id,
          "pId": twoTier[j].parentId,
          "isParent": true,

        };
        zNodes.push(temp2);

        for (var m = 0; m < threeTier.length; m++) {
          var temp3 = {
            "name": threeTier[m].code + '|' + threeTier[m].name,
            "id": threeTier[m].id,
            "pId": threeTier[m].parentId,
            "isParent": false,

          };
          zNodes.push(temp3);


        }


      }

    }
  }

用的时候直接调用getCrimeMeansData(treeId)就可以了。其中treeId 就是本例子中的detCaseMeansTree

效果图


tool.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • zTree简介 树形控件的使用是应用开发过程中不可少的,zTree是一个依靠jQuery实现的多功能“树插件”,优...
    fortunatelys阅读 8,391评论 0 3
  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 11,792评论 0 16
  • 今天看了一篇有关文化认同的文章,文章中说到,一个不对自己的家庭,生活环境和文化认同的人,是孤独的。 想到你,你对于...
    四筒0831阅读 1,085评论 0 0
  • 父亲节的前一晚,本来想发微信语音给我妈唠嗑的,结果发到我爸那了,平常和他基本不打电话的,这会和他唠了几句,就不知道...
    清和简阅读 1,229评论 0 0
  • 希尔排序最快 冒泡排序 A B C D E A——B B——C C——D.... B——C C——D D——E 最...
    最爱的Tammy小姐阅读 1,598评论 0 0

友情链接更多精彩内容