jsTree 3 - 选择动态加载树的下一个/上一个节点

时间:2014-10-15 12:21:50

标签: javascript jquery jstree

我有一个延迟加载的jsTree。我希望能够使用外部函数选择下一个和上一个节点。 api建议使用tree.get_next_dom(),但这似乎只适用于已加载的节点,而不是可能需要先加载的节点。

$("[href='#next']").click(function () {
    var tree = $('#container').jstree(true),
        curr = tree.get_selected(false);
    tree.deselect_all();
    var n = tree.get_next_dom(curr);
    tree.select_node(n);
});

看一个显示懒惰负载的示例的完整小提琴.. http://jsfiddle.net/6L7twnka/3/

所以"接下来"将查看该节点是否有子节点然后展开它,如果需要则加载。以前必须查看get_prev_dom,然后展开它,然后可能展开其中的所有最后节点(递归),然后将选择放在最前一个节点上。我试图做这件事有点失落。

1 个答案:

答案 0 :(得分:1)

也许我已经解决了,但我留下了一个建议。 方法调用“tree.deselect_all();”之后你调用“tree.open_all()”方法。

$ ("[href = '# next']"). click (function () {
    var tree = $ ('# container'). jstree (true)
    curr = tree.get_selected (false);
    tree.deselect_all ();
    tree.open_all ();
    var n = tree.get_next_dom (curr);
    tree.select_node (n);
});

此致

Charles Oliveira