zTree插件

最近在利用zTree插件做树型结构,从数据库获得数据进行树型展示,以及树型节点数据保存到数据库.然后用了两个递归,进行折腾.

不过因为数据库思想设计的不同,也请大家只是借鉴一下,不喜勿喷哦!


function subNodes(treeObj, arr, typeName) {
  $.each(treeObj, function(index, val){
    var is_parent = val.isParent ? 1 : 0
    var pid = val.pId ? val.pId : 0
    var goal ={sysname:val.name, pid:pid, count_id:val.id, is_parent:is_parent, level:val.level, user_type: val.user_type, type_id: getId(typeName)}
    arr.push(goal)
    if(val.children){
      subNodes(val.children, arr, typeName)
    }
  })
  return arr
}

subNodes方法是把树型结构的节点数据存到数据库里,treeObj是整个数据集合,arr是声明的空数组,typeName是名称,要不要无所谓.


 function loadNodes(simpleNodes, count_id) {
  var tree = []
  var temp
  for(var i = 0; i < simpleNodes.length; i++){
    if(simpleNodes[i].pid == count_id){
      var obj = simpleNodes[i]
      obj.name = simpleNodes[i].sysname
      temp = loadNodes(simpleNodes, simpleNodes[i].count_id, tree)
      if(temp.length > 0){
        obj.children = temp
      }
      tree.push(obj)
    }
  }
  return tree
}

loadNodes方法是把数据库的数据重新整合到页面进行展示,simpleNodes是数据库循环的二位数组,count_id是最小的pid,因为在树型里面必须要有一个最小的pid,或者多个最小的pid,一个树有一个根节点或者多个根节点.


可以看原博主:http://blog.csdn.net/qq_39536971/article/details/79128587

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值