jsTree : How to get IDs of selected nodes to root node in jsTree?
html, javascript, jquery, jquery-ui, jstree
Solution
Use `parents` in jQuery to get all parents, filtering out by `li` because all tree items are `li` in `jstree`, try this:
var parents = data.rslt.obj.parents("li");
And for children use `children` in jQuery, like so:
var children = data.rslt.obj.parent().find('li');
EDIT Using the above, here's how to get all parent and children and put them in all an array for each:
Parents:
var parents = [];
data.rslt.obj.parents("li").each(function () {
parents.push({ id: $(this).attr("id"), description: $(this).children("a").text() });
});
Children:
var children = [];
data.rslt.obj.find("li").each(function () {
children.push({ id: $(this).attr("id"), description: $(this).children("a").text() });
});
Problem
How to get IDs of selected nodes to root node in jsTree? Assume C is selected node then How can I get All parent IDs of C. A B C +C1 +c2 Following code will return only immediate parent ID: If I selected C then I get only B ``` .bind("select_node.jstree", function (event, data) { //`data.rslt.obj` is the jquery extended node that was clicked alert("Selected node = "+ data.rslt.obj.attr("id")); alert("Parent of Selected node = "+ data.inst._get_parent(data.rslt.obj).attr("id")) }); ``` Output: `Selected node = C` `Parent of Selected node = B` Is there any way to get all parent nodes ID i.e. Selected node to root node ? - How to get all child nodes of selected node in jsTree ? Any help or guidance in this matter would be appreciated.