I am trying to get the selected Node from a jstree.
This is the code in the View
<div id="divtree" >
<ul id="tree" >
@foreach (var m in Model.presidentList)
{
<li class="jstree-clicked">
<a href="#" class="usr">@m.Name</a>
@Html.Partial("Childrens", m)
</li>
}
</ul>
</div>
This is the javascript part where I try to retrieve the name of the Node
$(".jstree-clicked").click(function (e) {
var node = $(this).jstree('get_selected').text();
alert(node);
});
I have a problem on getting only the selected node. If I select one of the children(last node of the tree for example) I still get the entire list of nodes. Please let me know if you have any idea where I am doing something wrong?
I don't think you should assign class 'jstree-clicked' for each <li> node. And get selected node using jstree container that you used for jstree binding.
console.log($("#divtree").jstree("get_selected").text());
var data = $(yourtree).jstree().get_selected(true)[0].text;
console.log(data);
This works for me. Give it a shot!
Since more people found my comment useful I converted it to an answer. Thanks to the answer Murali, I was able to resolve my issue. This code:
$("#divtree").jstree("get_selected",true)
will return the complete object. (Look at the true parameter)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With