动态更改JSTree排序顺序

时间:2017-03-17 11:17:23

标签: jstree

我使用JSTree显示一个类似Windows资源管理器的小外观,一切都很完美,但我也必须实现排序选项,无论如何我可以动态更改我的树排序顺序吗?例如,我可以有一个按钮,允许用户根据名称(asc或desc),大小,更改日期甚至类型对内容进行排序。我怎么能表演呢? 我认为JSTree排序插件有问题,或者至少我无法理解它是如何工作的!

这是我根据用户互动改变排序的方法:

treeInst = $('#divWindowsExplorer').jstree(true);
var root = treeInst.get_node('j1_1');
$.jstree.defaults.sort = function (a, b) {
    return this.get_text(a) < this.get_text(b) ? -1 : 1;
};
$("#divWindowsExplorer").jstree(true).sort(root, true);
$("#divWindowsExplorer").jstree(true).redraw_node(root, true);

2 个答案:

答案 0 :(得分:2)

尝试使用排序选项。

  $("#plugins5").jstree({
     "plugins" : [ "sort" ],
     'sort' : function(a, b) {
        // you can do custom sorting here
        // based on your user action you can return 1 or -1
        // 1 show on top -1 for show bottom 
    }
  });

了解更多信息click here

答案 1 :(得分:0)

当我们调用sort时,

root节点不起作用,我通过调用sort和redraw_node函数来动态排序我的树,其中我的树的第一个节点的id不是root。 希望这是有帮助的。