gpt4 book ai didi

jquery - Jstree拖放排序

转载 作者:行者123 更新时间:2023-12-01 05:51:43 26 4
gpt4 key购买 nike

我有一棵树,它按节点数据中的顺序号排序。但是,我尝试在树中拖放节点后对节点进行排序。我可以成功更新订单,但节点尚未在树上移动。再次将节点拖到该位置后就可以了。

 $("#projectIssues").jstree({
sort: treeSortFunction,
json_data: { data: nodes },
ui: { "select_limit": 1 },
themes: { url: themeUrl },
core: { "check_callback": true },
plugins: ["themes", "json_data", "ui", "sort", "dnd", "crrm"],
crrm: {
"move": {
"default_position": "inside",
"check_move": function(n) {
return Project.ViewModel.DragDropNode(n);
}
}
}
}).bind("move_node.jstree", function (e, d) {
console.log(d.rslt.cp);
var node = _tree._get_node(d.rslt.o);
node.data("OrderNo", d.rslt.cp);
console.log("Current Node Order:" + node.data("OrderNo"));
Project.ViewModel.UpdateNodeOrder(d.rslt.np, d.rslt.o);

}).bind("dblclick.jstree", doubleClickNode)
.bind("select_node.jstree", function (event, result) {
var node = result.rslt.obj;
Project.ViewModel.UpdateEditor(node);
});

更新订单号的方法

 self.UpdateNodeOrder = function (parentNode, curNode) {
var childNodes = _tree._get_children(parentNode);
var node = _tree._get_node(curNode);
for (var i = node.data("OrderNo"); i <= childNodes.length-1; i++) {
var n = _tree._get_node(childNodes[i]);
if (n != undefined) {
if (node.data("Name") !== n.data("Name")) {
n.data("OrderNo", i + 1);
}
console.log(n.data("Name") + " " + n.data("OrderNo"));
}
}
};

最佳答案

添加了 _tree.sort(parentNode.children("ul") ,它做到了这一点

关于jquery - Jstree拖放排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21458439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com