从jstree获取所选节点

时间:2013-11-18 17:23:16

标签: javascript jquery razor jstree

我正在尝试从jstree获取所选节点。

这是视图中的代码

<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>

这是javascript部分,我尝试检索节点的名称

$(".jstree-clicked").click(function (e) {
        var node = $(this).jstree('get_selected').text();
        alert(node);
});

我在获取所选节点时遇到问题。如果我选择其中一个子节点(例如树的最后一个节点),我仍然可以获得整个节点列表。如果您知道我做错了什么,请告诉我?

4 个答案:

答案 0 :(得分:12)

我认为您不应为每个&lt; li&gt; 节点分配“jstree-clicked”类。 并使用您用于jstree绑定的jstree容器获取选定节点。

console.log($("#divtree").jstree("get_selected").text());

答案 1 :(得分:6)

由于更多人发现我的评论有用,我将其转换为答案。感谢Murali的回答,我能够解决我的问题。这段代码:

$("#divtree").jstree("get_selected",true)

将返回完整的对象。 (查看真实参数)

答案 2 :(得分:6)

var data = $(yourtree).jstree().get_selected(true)[0].text;

console.log(data);

这对我有用。试一试!

答案 3 :(得分:3)

试试这个:

var CurrentNode = $("#divtree").jstree("get_selected");
console.log($('#'+CurrentNode).text());