我有一个由jstree组成的树视图,我想禁用拖放节点从一个级别到另一个级别.我们来举个例子:
我希望用户能够移动分公司/重新排序叶子和重新排序的分支,但不提倡leaf作为branch或降级branch的leaf.
我已经开始看一下这个文件jstree.dnd.js来改变这个版本,但不幸的是它已经超出了我的联盟.
我怎样才能做到这一点?
我正在使用 jsTree V3.0.8 ( http://www.jstree.com/ )
如何仅在使用 dnd 插件(如 V1)时重新排序(http://johntang.github.io/JsTree/_docs/dnd.html#demo2)
我在 jsTree 中使用拖放,当我将一个节点拖到一个新位置时,我不仅要更新它的位置,还要更新它在数据库中的兄弟节点的位置。
下面是一个例子:

如果我拖入New nodenode Gamme 1,现在它的兄弟姐妹是gamme 501和gamme 500

获取有关移动节点的数据并更新它在 db 中的位置不是问题:
.on("move_node.jstree", function (e, data) {
console.log(data);
$.ajax({
type: "POST",
url: Routing.generate('saveGammeNewPosition'),
data: {
gammeId: data.node.id,
newParentId: data.node.parent,
position: data.position
}
});
})
Run Code Online (Sandbox Code Playgroud)
但我不知道如何获取有关已移动节点的新兄弟节点的信息。
当我做这样的事情时,不幸的是我没有得到位置数据,因为 json jsTree 接受没有位置属性:
$('#tree').jstree(true).get_json(data.node.parent, {flat: true})
Run Code Online (Sandbox Code Playgroud)
那么有没有办法获得兄弟姐妹位置的数据?