`
312350968
  • 浏览: 209270 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

简单的Tree (ID,PID)

 
阅读更多
$.fn.treegrid.defaults.loadFilter = function (data, parentId) {
    var opt = $(this).data().treegrid.options;
    var idFiled, parentField;
    if (opt.parentField) {
        idFiled = opt.idField;
        parentField = opt.parentField;
        var i, l, treeData = [], tmpMap = [];
        for (i = 0, l = data.length; i < l; i++) {
            tmpMap[data[idFiled]] = data;
        }
        for (i = 0, l = data.length; i < l; i++) {
            if (tmpMap[data[parentField]] && data[idFiled] != data[parentField]) {
                if (!tmpMap[data[parentField]]['children'])
                    tmpMap[data[parentField]]['children'] = [];
                tmpMap[data[parentField]]['children'].push(data);
            } else {
                treeData.push(data);
            }
        }
        return treeData;
    }
    return data;
};

 使用方法,放到公共的JS文件里面。在配置TREE或者TREEGRID的时候,如下三个属性必备:

            idField: 'tp_id',//子菜单字段名
            treeField: 'tp_name',//显示的字段名
            parentField: 'tp_parent',//父菜单字段名
其它的直接参照文档配置就OK了。

分享到:
评论

相关推荐

    移动端通讯录组织树https://github.com/yangjingyu/vs-tree

    {name: '上海分部', id: 2, pid: 0, children: []}, {name: '成都分部', id: 3, pid: 0}, {name: '广州分部', id: 4, pid: 0}, {name: '沈阳分部', id: 5, pid: 0}, {name: '张三', id: 6, pid: 0, isLeaf: ...

    treeMode 2.0

    其实原理就是和树的数据存在数据库中一样,是一行行存储的,每一行有自己的id和parentId(PID)即可。 如何使用: var $tree = $('#treePanel'); var treeObj = $tree.treeMode({ flatData : flat, ...

    aceadmin用简单json生成treeview

    基于aceadmin1.4编写,其它版本稍做改动即可使用,需要先引入aceadmin相应的tree.min.js,使用时只需要传入带id、pId的json数组,自动生成上下级多层关系的树,可直接从后端取数返回json,引入此js后,调用:aceTree...

    Delphi实现的树控菜单Tree源码.rar

    Delphi实现的树控菜单Tree源码,DbTree.pas单元实现了TreeView与数据的关联,其各项要求如下:  数据库这里采用了ADOQuery,表中的字段要有id,pid,caption一个。  id:为自增字段,用于表示节点的编号。  pid...

    tree:根据java的引用特性获取树形json,避免使用遍历算法

    tree 根据java的引用特性获取树形json,避免使用递归算法 原始数据: {"id":1,"name":"树节点1","pId":0} {"id":2,"name":"树节点2","pId":1} {"id":3,"name":"树节点3","pId":1} {"id":4,"name":"树节点4","pId":2} {...

    PHP树形结构tree类用法示例

    本文实例讲述了PHP树形结构tree类用法。分享给大家供大家参考,具体如下: &lt;?...include 'tree.class.php'; //模拟数据库 $data=array( array('id'=&gt;1,'pid'=&gt;0,'name'=&gt;'一级... array('id'=&gt;5,'pid'=&gt;4,'name'=&gt;'四

    C#项目ZTree构造树

    C#项目 ZTree构造树,源码实例说明,并附文档截图说明如何构造树。 setting = { treeId: "id", check: { enable: false }, data: { ... autoParam: ["id", "pId"] }, callback: {} 如何配置树。

    jstree创建无限分级树的方法【基于ajax动态创建子节点】

    本文实例讲述了jstree创建无限分级树的方法。分享给大家供大家参考,具体如下: 首先来看一下效果 页面加载之初 节点全部展开后 首先数据库的表结构如下 其中Id为主键,PId为关联到自身的外键 两个字段均为GUID...

    ajax_tree_树状展现

    ajax树状展现,建了一个filesGroup表: 字段:id,name,pid,userID

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    主要介绍了MySQL通过自定义函数实现递归查询父级ID或者子级ID,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    SQL Server 树形表非循环递归查询的实例详解

    很多人可能想要查询整个树形表关联的内容都会通过循环递归来查…事实上在...WHERE TREE.PId = Areas.Id ) SELECT Area FROM TREE --通过父节点查询子节点 WITH TREE AS( SELECT * FROM Areas WHERE id = 7 -- 要查询

    php 角色权限菜单设置demo

    树型结构,角色权限。...$str = "&lt;li&gt;\$spacer&lt;input id=\$pid type=checkbox value=\$id onclick='goSelect(this.id)'/&gt;\$name&lt;/li&gt;"; $html .= $tree-&gt;get_tree(0,$str,-1).'&lt;/ul&gt;'; $script=' ...

    ztree树节点前面有checkbox

    &lt;!... &lt;TITLE&gt; ZTREE DEMO - checkbox ; charset=UTF-8"&gt; &lt;script type="text/javascript" src="jquery-1.4.4.min.js"&gt;&lt;/script&gt; ... &lt;ul id="treeDemo" class="ztree"&gt; ()" /&gt; &lt;/HTML&gt;

    combox 控件

    &lt;div class="selectTree" treeType="ztree" id="sel01"&gt;&lt;ul id="treeDemo" class="ztree"&gt;&lt;/ul&gt;&lt;/div&gt; 然后为其指定JSON数据即可。数据格式: var zNodes1 =[ { id:1, pId:0, name:"父节点1",open:true}, { id:...

    smartree:智能树

    {"pid":"0", "id":"1", "text":"Node 1"}, {"pid":"0", "id":"2", "text":"Node 2"}, {"pid":"1", "id":"3", "text":"SubNode 1.1"}, {"pid":"3", "id":"4", "text":"SubNode 1.1.1"} ]; var tree = new ...

    实例讲解jQuery EasyUI tree中state属性慎用

    EasyUI 1.4.4 tree控件中,如果是叶子节点,切忌把state设置为closed,否则该节点会加载整个tree,形成死循环 ...了解easyui tree组件的童鞋估计都知道tree的node有他自己单独的属性(id,text,ico

    php通过分类列表产生分类树数组的方法

    这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID php代码如下: $tree = array(); foreach ($list as $id =&gt; $row) { $pid = $row-&gt;pid; if ($pid == 0) { $tree[] = &$list[$id]; ...

    AngularJS递归指令实现Tree View效果示例

    本文实例讲述了AngularJS递归指令实现Tree View效果的方法。分享给大家供大家参考,具体如下: 在层次数据结构展示中,树是一种极其常见的展现方式... "pid":"0", "name":"家用电器", "children":[ { "id":"4", "p

    dwz完美整合ztree3.5(包括excheck),kindeditor,My97DatePicker

    { id:3, pId:2, name:"菜单3(不响应点击)", iconSkin:"pIcon02",url:"#", target:"navTab", rel:"articleAddEdit3",open:false}, { id:4, pId:3, name:"文章管理4", iconSkin:"icon04",url:"admin/articleAddEdit....

    dwz完美整合ztree,kindeditor,My97DatePicker

    { id:3, pId:2, name:"菜单3(不响应点击)", url:"#", target:"navTab", rel:"articleAddEdit3",open:false}, { id:4, pId:3, name:"文章管理4", url:"articleAddEdit.html", target:"navTab", rel:"articleAddEdit...

Global site tag (gtag.js) - Google Analytics