2011-11-14 23 views
1

我有一个关于jsTree两个问题:jsTree负载并单击

  1. 我使用JSON与Struts2的产生jsTree。第一次树显示正确。但在按钮上单击我想用不同的数据将该树重新加载到同一个div中。在按钮上点击我给出了第一次生成jstree所用的相同动作名称。

  2. 如果我点击了树的任何节点,那么我想要一个该节点的id,如果该节点有任何父节点,那么还需要该节点的父节点id再次父节点具有该父节点然后该父节点的id节点也

Parent 1 
     |__Parent 2 
      |__Child 1 

我一下孩子1,那么我想孩子1,父母2,母公司1的ID等。

回答

1

如果你想获得完整路径节点可以使用get_path

// The true means it will return the ID's of the parent, therefore ALL NODES need an ID 
var parents = $("#your_jstree").jstree("get_path",$("#the_node"),true); 
$.each(parents, function(k, v){ 
    // Log down the ID's 
    console.log(v); 
}); 

完整的示例

var ids = $(this).closest(".jstree").jstree("get_path", $(this), true); 
var path = ""; 
$.each(ids, function (k, v) { 
    if (k == 0) return; 

    if (path != "") 
     path += "/"; 

    path += clone.html(); 
}); 

威尔返回/父母1 /父母2 /孩子1

3

我不知道,如果你真的浏览文档,但是这里有一些东西,可以帮助你:

关于第一个问题,你可以使用回滚:http://luban.danse.us/jazzclub/javascripts/jquery/jsTree/reference/_examples/5_others.html 刷新可以是一种选择太:http://luban.danse.us/jazzclub/javascripts/jquery/jsTree/reference/_examples/2_operations.html

关于第二个问题,你可以使用回调:http://luban.danse.us/jazzclub/javascripts/jquery/jsTree/reference/_examples/3_callbacks.html

._get_parent将帮助你太:

._get_parent(node)

获取LI元素,表示传递的节点的父节点。 失败时返回false。混合节点

这可以是一个DOM节点,jQuery节点或选择器,指向树中的元素 ,它的父级我们想要的。

详情参见完整文档:http://www.jstree.com/documentation/core