//加载功能树
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. SQL Server 锁机制 悲观锁 乐观锁 实测解析

    先引入一些概念,直接Copy其他Blogs中的,我就不单独写了. 一.为什么会有锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 1.丢失更新 A,B两个用户读同一数据并进行修改,其中 ...

  2. Python自学笔记-列表生成式(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 列表生成式 列 ...

  3. windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)

    以前在windows2003里,使用的是iis6.0,那时常使用的URL重写组件是iisrewrite,当服务器升级到windows2008R2时,IIS成了64位的7.5,结果iisreite组件是 ...

  4. 组件 layui 常用控件下拉框的应用

    下拉框的显示样式: 针对下拉框的绑定等操作时,在最后务必调用一次 form.render(); 1.基本定义: <div class="layui-form-item"> ...

  5. YYHS-NOIP模拟赛-mine

    题解 这道题不难想到用dp来做 dp[i][0]表示第i个格子放0 dp[i][1]表示第i个格子放1且第i-1个格子放雷 dp[i][2]表示第i个格子放2 dp[i][3]表示第i个格子放1且第i ...

  6. win10 uwp 绘图 Line 控件使用

    本文主要讲一个在绘图中,我们会有一个基础的控件,Line.控件的基本使用和他能做出的我们很多时候需要的界面. 虽然是一个简单控件,但是可以做出很诡异的很好看的UI. 首先,我们要知道,Line就是画直 ...

  7. 如何让vim像IDE一样一键放大缩小字号?

    原创,转载请注明出处 在其他IDE中,比如codeblocks,按住ctrl,然后滑动鼠标滚轮就可以实现字体的放大缩小. 在强大的vim中code怎么能缺少这种功能?! 在vim插件库中查询一番,发现 ...

  8. Traefik实现Kubernetes集群服务外部https访问

    转载请注明出处:http://www.cnblogs.com/wayneiscoming/p/7707942.html traefik 是一个前端http反向代理服务器以及负载均衡器,支持多种微服务后 ...

  9. LeetCode 80. Remove Duplicates from Sorted Array II (从有序序列里移除重复项之二)

    Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For exampl ...

  10. Java基础笔记3

    控制语句 1. if语句 if(条件){ //如果条件成立,则运行该大括号内的内容. } if(条件){ //如果条件成立,则运行该大括号内的内容. }else{ //如果条件不成立,则运行该大括号内 ...