//加载功能树
function initTree() {
$.jstree.destroy();
$.ajax({
type: "Get",
url: "/Department/GetTreeData/0?_t=" + new Date().getTime(), //获取数据的ajax请求地址
success: function (data) {
$('#dptTree').jstree({ //创建JsTtree
'core': {
'data': data, //绑定JsTree数据
"multiple": false //是否多选
},
"plugins": ["wholerow"] //配置信息
})
$("#dptTree").on("after_open.jstree", function (event, data) { })
$("#dptTree").on("ready.jstree", function (e, data) { //树创建完成事件
//data.instance.open_all(); //展开所有节点
});
$("#dptTree").on('changed.jstree', function (e, data) { //选中节点改变事件
//获取所有选中项目及子项目
function getChildNodes(treeNode, result) {
var childrenNodes = data.instance.get_children_dom(treeNode);
if (childrenNodes) {
for (var i = 0; i < childrenNodes.length; i++) {
var row = childrenNodes[i];
if ($.inArray(row.id, result) == -1) {
result.push(row.id);
}
result = getChildNodes(row.id, result);
}
}
return result;
}
var result = [];
//获取选中的节点
var node = data.instance.get_node(data.selected[0]);
result.push(node.id);
//遍历选中节点的子节点
var childNodes = data.instance.get_children_dom(node);
for (var i = 0; i < childNodes.length; i++) {
var row = childNodes[i];
if ($.inArray(row.Id, result) == -1) {
result.push(row.id);
}
getChildNodes(row, result);
}
if (node && firstLoaded != 1) {
dptIds = result; //保存选中的节点ID
dptParentId = node.parent; //保存选中的节点父ID
app.loaddata(1);
};
}); $("#dptTree").on('loaded.jstree', function (e, data) {
//当tree加载完毕时,获取树的根节点对象;
//调用select_node方法,选择根节点。
firstLoaded = 1;
var inst = data.instance;
var obj = inst.get_node(e.target.firstChild.firstChild.lastChild);
inst.select_node(obj);
firstLoaded = 2;
});
}
});
}

更多精彩文章请关注我们的微信公众号FocusDotCore:

jstree 获取选中节点的所有子子点的更多相关文章

  1. jsTree获取选中节点和选中指定节点

    jstree获取当前选中的checkbox和获取选中节点的所有节点 首先初始化一个带有复选框的 jstree $('#demo_tree').jstree({ "core" : { ...

  2. ztree获取选中节点

    $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); }); functi ...

  3. ztree获取选中节点时不能进入可视区域出现BUG如何解决

    zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. zTree 的特点编辑 ● zTree v3.0 将核心代码按照功能进 ...

  4. zTree获取当前节点的下一级子节点数

    使用zTree插件实现树形图中,需要获取当前点击的父节点的子节点数的需求,使用treeNode.children获取子节点数据集合,使用length方法获取集合长度.将当前节点的treeNode传入即 ...

  5. C# 递归程序 获取某个节点下的全部子节点

    /// <summary> /// 获取组织结构树 /// </summary> /// <param name="list"></par ...

  6. ztree 获取CheckBox选中节点时,不获取选中上级父节点

    //将第三个参数改为false,表示不去勾选父节点下的所有子节点 zTreeObj.checkNode(node, true, false); setting.check.chkboxType = { ...

  7. 获取元素节点的子节点 & 获取文本节点

    1. 获取元素节点的子节点(**只有元素节点才有子节点):              ①. childNodes 属性获取全部的子节点, 但该方法不实用. 因为如果要获取指定的节点          ...

  8. IT小鲜肉 Widgets Tree 单选、多选、相关回调函数、获取选中的节点功能

    写一个树控件并没有想象中的那么容易,今天又花了我一个1个多小时,主要为IT小鲜肉 Widgets Tree控件添加了 单选.多选.选择前和选择后两个回调函数.获取选中节点的功能.后面会继续努力完善这个 ...

  9. 160420、zTree获取所有选中节点数据

    <!DOCTYPE html><HTML><HEAD> <TITLE> ZTREE DEMO - Standard Data </TITLE> ...

随机推荐

  1. 提取多层嵌套Json数据

    在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"ci ...

  2. Java继承--子父类中的构造函数

    子父类中的构造函数的特点: 1.在子类构造对象时,发现,访问子类构造函数时,父类构造函数也运行了.   原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 类似于this(); ...

  3. asp.net mvc webapi 实用的接口加密方法

    在很多项目中,因为webapi是对外开放的,这个时候,我们就要得考虑接口交换数据的安全性. 安全机制也比较多,如andriod与webapi 交换数据的时候,可以走双向证书方法,但是开发成本比较大, ...

  4. VS中Release模式下生成去掉生成pdb文件

    1.右键项目,选择属性 2.选择正确的配置,点击高级 3.调试信息选择 none,点击确定.

  5. 如何使用 C# 爬虫获得专栏博客更新排行

    昨天,梦姐问我们,她存在一个任务,找到 关注数排行100 和 浏览量排行100 的专栏博客,在2017年还有更新的专栏. 梦姐说他要出去一趟,M大神在吃饭,于是我估算时间,只有半个钟. 整理一下:半个 ...

  6. win10 uwp 自定义控件 SplitViewItem

    本文主要是因为汉堡菜单里面列出的菜单很多重复的图标和文字,我把它作为控件,因为是随便写,可能存在错误,如果发现了,请和我说或关掉浏览器,请不要发不良言论. 我们使用汉堡菜单,经常需要一个 需要一个图标 ...

  7. hdu 4751 Divide Groups bfs (2013 ACM/ICPC Asia Regional Nanjing Online 1004)

    SDUST的训练赛 当时死磕这个水题3个小时,也无心去搞其他的 按照题意,转换成无向图,预处理去掉单向的边,然后判断剩下的图能否构成两个无向完全图(ps一个完全图也行或是一个完全图+一个孤点) 代码是 ...

  8. wordpress 源代码 高亮显示 (Crayon Syntax Highlighter)

    作为码农,blog 里面不贴源代码像什么话,源代码没有高亮显示,那还怎么看!一番调研之后,Crayon Syntax Highlighter 可能是最流行,功能最强大的一款代码高亮插件了. 一.安装  ...

  9. C#实现局域网内远程开机

    1.远程开机原理 远程开机Wake on LAN(WOL),俗称远程唤醒,远程唤醒的实现主要是向目标主机发送特殊格式的数据包,是AMD公司制作的MagicPacket这套软件以生成网络唤醒所需要的特殊 ...

  10. LINUX 笔记-cal 命令

    显示当前月份日历 命令:cal 显示指定月份的日历 命令:cal 9 2012 显示2016年日历 命令:cal 2016