ztree

var   ztreeNodes = [];
var   toshownodeslist = new  Object();
var   toshownodesArray = [];
var   checknodes =[];
var   checknodeids =[];

var   treeObj;
function  makeStationTree(node_type){
    //树的销毁
    treeObj = $.fn.zTree.getZTreeObj("tree_station");
    treeObj.destroy();
    //隐藏所有树节点
    treeObj = null;
    $.fn.zTree.init($("#tree_station"), setting_station, ztreeNodes);
    treeObj = $.fn.zTree.getZTreeObj("tree_station");
    var   allNode = treeObj.transformToArray(treeObj.getNodes());
    for(var i = 0;i < allNode.length;i++){
        allNode[i].nocheck = true;
        treeObj.updateNode(node);
    }
    treeObj.hideNodes(allNode);
    //显示当前类型及父亲节点
    var  nodelist = treeObj.getNodesByParamFuzzy("node_type",node_type,null);
    for(var n = 0;n<nodelist.length;n++){
        
        toshownodeslist[[Number(nodelist[n].id)]]  =  nodelist[n];
        checknodes.push(nodelist[n]);
        findParent(treeObj,nodelist[n]);
    }
    $.each(toshownodeslist,function (key,val) {
        toshownodesArray.push(toshownodeslist[key]);
    })
    treeObj.showNodes(toshownodesArray);
    //toshownodeslist = [];
    toshownodeslist = new Object();
    toshownodesArray = [];
    checknodeids =[];
    //显示的节点再过滤哪些有checkbox
    var   treeObj = $.fn.zTree.getZTreeObj("tree_station");
    for(var  i=0;i<checknodes.length;i++){
        var  node = checknodes[i];
        node.nocheck = false;
        treeObj.updateNode(node);
        checknodeids[i] = node.id;
    }
    checknodes = [];
}

function  findParent(treeObj,node){
    //treeObj.expandNode(node,true,false,false);
    var  pNode =node.getParentNode();
    if(pNode!=null){
        //toshownodeslist.push(pNode);
        toshownodeslist[[Number(pNode.id)]]  =  pNode;
        findParent(treeObj,pNode);
    }
}
涉及到几个点:
ztree隐藏函数hide()
ztree节点nocheck属性
ztree查找父亲节点,避免出现同一父亲几点多次放入数组,使用
var   toshownodeslist = new  Object();
toshownodeslist[[Number(pNode.id)]]  =  pNode;
可以保证唯一性,同一id多次赋值,后面覆盖前面的
涉及Object转正数组[]
 $.each(toshownodeslist,function (key,val) {
        toshownodesArray.push(toshownodeslist[key]);
    })

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值