1 获取所有的节点集合

    var nodes = treeObj.getNodes();//只获取根节点
var nodesAll = treeObj.transformToArray(nodes);//获取所有的节点包括子节点
for (var i=0, l=nodesAll.length; i < l; i++) { treeObj.setChkDisabled(nodesAll[i], true);
}

  2 获取所有的节点  让符合条件的复选框不可用

for (var i=0 ;i <nodesAll .length; i++) {
if(nodesAll [i]['new'].indexOf('test')>-1){ treeObj.setChkDisabled(allNodes[i], true);//降符合条件的复选框设为不可选中状态
} }

  3.隐藏节点

for (var i=0 ;i <nodesAll .length; i++) {
 treeObj.hideNode(allNodes[i])
}

  4.

 check: {
enable: true,//是否显示复选框
chkboxType: { "Y": "ps", "N": "ps" },
//chkStyle: "radio"//单选按钮 不写默认为复选框 },

 5展开特定的节点

var treeGroup_node = treeGroup_roottree.getNodeByParam("id",data.data.id);//获取到某个节点
treeGroup_roottree.expandNode(treeGroup_node, true, false, true);//要展开的节点 是否展开节点 子孙节点是否受影响 是否设置设置任何焦点

5.1展开等级

	//展开等级
var nodes = roottree.getNodes();
var nodesAll = roottree.transformToArray(nodes);
for(var i = 0;i < nodesAll.length; i++) {//展开等级2
if(nodesAll[i].level==2){
roottree.expandNode(nodesAll[i],true,false,true)
} }

  5.2 展开上一级

var checknode_1 = roottree.getNodeByParam("id",checknode.parentId);   //checknode.parentId  获取父节点  展开父节点  显示子节点
roottree.expandNode(checknode_1,true,false,true)

  

 

 6 特定节点显示 复选框

 var nodes = treeObj.getNodes();
var nodesAll = treeObj.transformToArray(nodes); //将 zTree 使用的标准 JSON 嵌套格式的数据转换为简单 Array 格式

for(var i = 0;i < nodesAll.length; i++) {
nodesAll[i].nocheck=true;//特定节点不显示复选框
treeObj.updateNode(nodesAll[i]);//更新节点
}

  7.取消树的选中状态

	treeObjPhone.cancelSelectedNode();

  8 获取所有半选中的id

var thistreeObjAdd=treeObjAdd.getCheckedNodes(true);

			// 数据权限选中的节点
$.each(thistreeObjAdd, function(key, value) {
/*if (!value.isParent) {// 只保留最后的节点的ID
organizeArr.push(value.id)
}*/
var halfCheck = value.getCheckStatus();
if (!halfCheck.half){
organizeArr.push(value.id)
}
})

  9 隐藏 显示节点

var nodes_all= treeObj.getNodes();//获取所有的节点
var nodesAll_all = treeObj.transformToArray(nodes_all); //将 zTree 使用的标准 JSON 嵌套格式的数据转换为简单 Array 格式
treeObj.hideNodes(nodes_all);//隐藏所有的节点
//返回符合条件的JSON集合
var nodes_jg = treeObj.getNodesByFilter(filter); // 查找节点集合
treeObj.showNodes(nodes_jg);//显示符合条件的节点 /////////

/筛选节点
function filter(node) {
return( node.new.indexOf("3") > -1);
}

  10.筛选节点 改变背景色

var sel_value=$.trim($('#select_val').val())//查询条件
if(sel_value){
var nodes_query = treeObjWeb.getNodes();//只获取根节点
var nodesAll_query = treeObjWeb.transformToArray(nodes_query);//获取所有的节点包括子节点
for (var i=0, l=nodesAll_query.length; i < l; i++) {
var checknode_1 = treeObjWeb.getNodeByParam("id",nodesAll_query[i].pid);
if(nodesAll_query[i].name.indexOf(sel_value)>-1){//找到符合条件的
var checknode_1 = treeObjWeb.getNodeByParam("id",nodesAll_query[i].pid); //获取父节点
treeObjWeb.expandNode(checknode_1,true,false,true);//展开父节点
var checknode_2 =treeObjWeb.getNodeByParam("id",nodesAll_query[i].id);
treeObjWeb.selectNode(checknode_2);//选中节点
selPidval = nodesAll_query[i].id;// 保存节点的id
selorganizeName = nodesAll_query[i].name// 保存节点的名称
/////////
treeObjWeb.setting.view.fontCss["color"] = "#06cdba";//设置背景色
treeObjWeb.updateNode(nodesAll_query[i]);//更新树
//////////
}else{
treeObjWeb.setting.view.fontCss["color"] = "#0e0e0e";//不符合条件的设置背景色
treeObjWeb.updateNode(nodesAll_query[i]);//更新树
}
}
doSearch()//查询
}

  11.特定的节点才可以触发点击事件【beforeClick: zTreeBeforeClick】 在点击前判断  如果不符合返回false  click事件也不会触发

function zTreeBeforeClick(treeId, treeNode, clickFlag) {
if(treeNode.type!=4){//只有符合的节点才可以被点击
return false;
}
};

  12.获取状态被改变的节点

var treeObj = $.fn.zTree.getZTreeObj("sengMsgTree");// treeDemo 树ID
// 获取输入框被改变的节点
var thisNodes= treeObj.getChangeCheckedNodes();
var thisUnselBuidings=[];
for(var i=0,l=thisNodes.length;i<l;i++){
thisNodes[i].checkedOld =thisNodes[i].checked;
if(thisNodes[i].checkedOld!=true ){
thisUnselBuidings.push(thisNodes[i].id)
// console.log(thisNodes[i].type+"---"+thisNodes[i].id+"--之前选中"+thisNodes[i].checkedOld)
}
}

console.log( JSON.stringify(thisUnselBuidings) +"")

z-tree的更多相关文章

  1. 【BZOJ2631】tree

    Description 一棵n个点的树.每一个点的初始权值为1. 对于这棵树有q个操作,每一个操作为下面四种操作之中的一个: + u v c:将u到v的路径上的点的权值都加上自然数c: - u1 v1 ...

  2. 【BZOJ2558】Count on a tree

    又是因为傻逼错误浪费了半天时间 原题: 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个 ...

  3. Luogu 3690 Link Cut Tree

    Luogu 3690 Link Cut Tree \(LCT\) 模板题.可以参考讲解和这份码风(个人认为)良好的代码. 注意用 \(set\) 来维护实际图中两点是否有直接连边,否则无脑 \(Lin ...

  4. HDU 4757 Tree(可持续化字典树,lca)

    题意:询问树上结点x到结点y路上上的权值异或z的最大值. 任意结点权值 ≤ 2^16,可以想到用字典树. 但是因为是询问某条路径上的字典树,将字典树可持续化,字典树上的结点保存在这条路径上的二进制数. ...

  5. Spoj Query on a tree SPOJ - QTREE(树链剖分+线段树)

    You are given a tree (an acyclic undirected connected graph) with N nodes, and edges numbered 1, 2, ...

  6. [BZOJ 2002] [HNOI2010]弹飞绵羊(Link Cut Tree)

    [BZOJ 2002] [HNOI2010]弹飞绵羊(Link Cut Tree) 题面 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一 ...

  7. [BJOI2014]大融合(Link Cut Tree)

    [BJOI2014]大融合(Link Cut Tree) 题面 给出一棵树,动态加边,动态查询通过每条边的简单路径数量. 分析 通过每条边的简单路径数量显然等于边两侧节点x,y子树大小的乘积. 我们知 ...

  8. bzoj1588

    splay #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ...

  9. CF 484E - Sign on Fence

    E. Sign on Fence time limit per test 4 seconds memory limit per test 256 megabytes input standard in ...

  10. 线段树(codevs1082)

    type jd=record z,y,lc,rc,sum,toadd:int64; end; var tree:..] of jd; qzh:..] of int64; x:..] of int64; ...

随机推荐

  1. iOS 的基本框架

    在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像.声音文件等其他资源.共享资源库定义应用程序可以调用的函数和方法.    iOS为应用程序开发提供了许多可使用 ...

  2. sql语句与数据库2

    增加数据 insert into wyx(xh,nl,xb,sfzh,zcrq)values(0422,28,男,210623198711111111,2016-8-19); 删除数据 delete ...

  3. decimal(a,b)

    decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38.b指定小数点右边可以存储的十进制数字的最大个数.小数位数必须是从 0 到 a之间的值.默认小数位数是 0 ...

  4. C/C++的四大内存分区 分类: C/C++ 2015-05-09 01:36 163人阅读 评论(0) 收藏

    导读 正确的理解C/C++程序的内存分区,是合格程序猿的基本要求. 网络上流形两大版本内存分区,分别为: 1. 五大内存分区:堆.栈.全局/静态存储区.自由存储区和常量存储区. 2. 五大内存分区:堆 ...

  5. 【原创】Scrum模式也要根据自身特点微调,不能教条

    手上的项目在用Scrum模式开发,运用的是禅道这个国产的平台,运作得还不错,具体如下: 1.整个开发团队有10个人,分为:新功能开发组和系统优化组,每组配备一个技术经理2.人员分在两个办公地点(同一城 ...

  6. oracle11g安装和基本的使用-转载

    一.测试操作系统和硬件环境是否符合,我使用的是win2008企业版.下面的都是step by step看图就ok了,不再详细解释. 请留意下面的总的设置步骤:--------------------- ...

  7. vim全选,全部复制,全部删除

    全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v : 是进入V ...

  8. 网络--三种网络通讯方式及Android的网络通讯机制

    Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口).Org.apache接口和Android.net.*(Android网络接口).下面分别介绍这些接口的功 ...

  9. 设置ajax 同步执行

    Ajax请求默认的都是异步的如果想同步 async设置为false就可以(默认是true) var html = $.ajax({  url: "some.php",  async ...

  10. DataGridView控件的各种操作总结

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...