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.

Original source

Related problems