Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
38
rated 0 times [  43] [ 5]  / answers: 1 / hits: 41282  / 12 Years ago, wed, april 18, 2012, 12:00:00

I've been trying to get the text of a node that is selected in a jsTree. I am able to populate the tree and trigger the onSelect event, but I can't find out which node was clicked. I've seen examples on the net that use data.rslt.obj.attr(data) to fetch the text, however this is returning undefined for me. Additionally, when I try to get the selected node using .jstree('get_selected') I can't find the node text anywhere in the object. How can I get the node text?



Here is my onSelect callback function:



function onSelect(event, data)
{
// Get the name of the equipment that was selected.
var selected_node = $(#equipment_tree).jstree('get_selected');
var equipment_name = data.rslt.obj.attr(data);
}

More From » jstree

 Answers
44

Update in 2018.



Thanks to @ProfK's comment, the API has changed in new version of jstree. In jstree v3.1.0 (or earlier), the API has changed to:



$(#treeContainer).on(
select_node.jstree, function(evt, data){
//selected node object: data.node;
}
);





For jstree old version (before 2013).



You can get the selected node object and its text by:



$(#treeContainer).bind(
select_node.jstree, function(evt, data){
//selected node object: data.inst.get_json()[0];
//selected node text: data.inst.get_json()[0].data
}
);

[#86148] Wednesday, April 18, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
sidneyh

Total Points: 118
Total Questions: 108
Total Answers: 105

Location: Mali
Member since Fri, Jun 18, 2021
3 Years ago
sidneyh questions
Tue, Jun 7, 22, 00:00, 2 Years ago
Wed, Apr 13, 22, 00:00, 2 Years ago
Wed, Aug 12, 20, 00:00, 4 Years ago
Wed, Jun 3, 20, 00:00, 4 Years ago
Fri, Apr 24, 20, 00:00, 4 Years ago
;