![](/img/trans.png)
[英]jsTree : How to get IDs of selected nodes to root node in jsTree?
[英]How to get the index of selected nodes in jstree
我想使用jstree讓用戶選擇節點並使用drag'n'drop插件對樹重新排序。 這是展示當前行為的jsfiddle:
$("#ProductInterests").jstree({
core: { themes: { icons: false },"check_callback" : true },
checkbox : { tie_selection : false },
plugins: ["themes", "checkbox","dnd"]
});
$('button').click(function () {
alert($("#ProductInterests").jstree(true).get_checked().join(','));
});
目前,所有選擇的ID均按照其選擇的順序進行報告。 是否可以按照它們在樹中出現的順序來獲取它們? 即使在用戶拖放項目后?
我想這取決於您在樹中出現的意思。 如果您的意思是外觀-您可以使用通用選擇器並收集ID:
$("#ProductInterests").find('.jstree-checked').closest('.jstree-node')
.toArray().map(function (v) { return v.id; })
但是,這不會返回不可見的節點(由於您正在使用three_state,因此這會很多)。
如果這樣做不合適,則可以使用遞歸函數遍歷內部樹模型,並以真實順序收集節點,無論是否可見。 為此,您需要檢查: $("#ProductInterests").jstree(true)._model.data['#'].children
這是使用上述方法更新的小提琴(隨意優化功能,不是很優雅):
http://jsfiddle.net/dt2rk2d1/1/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.