我使用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);
答案 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)
root节点不起作用,我通过调用sort和redraw_node函数来动态排序我的树,其中我的树的第一个节点的id不是root。 希望这是有帮助的。