//加载功能树
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. SVN初体验

    呐,部门领导要求今后项目部分内容要实行版本控制,因此有机会深入接触下SVN这门功课 ---------------------------------------------------------- ...

  2. Java面向对象 GUI 补录

     Java面向对象 GUI 补录 知识概要:(1)GUI和CLI                   (2)AWT和SWING                   (3)AWT继承关系图      ...

  3. 将 C# 枚举反序列化为 JSON 字符串 基础理论

    该转换过程需要引用 Newtonsoft.JSON,这其中的转换过程还是蛮有意思的. 一.定义枚举 /// <summary> /// 托寄物品枚举 /// </summary> ...

  4. github部分有意思的库记录

    1.MMDrawerController (抽屉框架) https://github.com/mutualmobile/MMDrawerController 2.ijkplayer视频直播框架 htt ...

  5. Linux入门(14)——Ubuntu常用快捷键

    打开终端:ctrl + alt + T 左右分屏:ctrl + win + 箭头左或者箭头右 显示桌面:Ctrl + win + D 切换工作区:ctrl + alt + 箭头左或者箭头右 新建文件夹 ...

  6. flask + wtform + google storage

    项目需要使用 flask 上传.下载文件到 google storage 上, 搜了一圈没有能直接结合 wtform 使用的插件,所以动手造了个轮子. 只实现了基本的上传,下载的功能,后续可能会完善预 ...

  7. Loadrunner Webservice接口性能测试脚本编写优化总结

    本文主要介绍使用Loadrunner Webservice接口性能测试脚本编写及优化总结. 1.Webservice协议脚本编写流程 下面介绍使用Loadrunner 11调用Webservice接口 ...

  8. Java Scanner类

    package io; import java.util.*; public class useScanner { public static void main(String[] args) { S ...

  9. LINUX 笔记-cp命令

    常用参数: -a :将文件的特性一起复制 -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份 -i :若目标文件已经存在时,在覆盖时会先询问操作的进行 -r :递归持续复制,用于 ...

  10. java web 入门级 开发 常用页面调试方法

    这里介绍一下Java web 入门级开发中常用的代码调式方法;  (  仅供入门级童靴 参考) ; 工具: chrome  浏览器 (版本越高越好); Java web 入门级开发 主要就是两个方面: ...