Javascript 使dnd更新节点而不移动节点
我正在尝试使用jstree和move函数。我主要关心的不是从一个表移动到下一个表的节点,而是将一棵树的节点拖放到另一棵树的顶部,以便像我在后台使用ajax调用那样更新节点信息 要更新更改的jstree的配置如下所示Javascript 使dnd更新节点而不移动节点,javascript,jquery,drag-and-drop,jstree,Javascript,Jquery,Drag And Drop,Jstree,我正在尝试使用jstree和move函数。我主要关心的不是从一个表移动到下一个表的节点,而是将一棵树的节点拖放到另一棵树的顶部,以便像我在后台使用ajax调用那样更新节点信息 要更新更改的jstree的配置如下所示 jQuery(document).ready(function (){ var current_opperation = ''; jQuery("#tree1") .jstree({ "core" : {
jQuery(document).ready(function (){
var current_opperation = '';
jQuery("#tree1")
.jstree({
"core" : {
"load_open" : "true"
},
"crrm" : {
"move" : {
"check_move" : function (data) {
var p = this._get_parent(data.o);
if(!p) return false;
p = p == -1 ? this.get_container() : p;
if(p === data.np) return true;
if(p[0] && data.np[0] && p[0] === data.np[0]) return true;
var copy_from_group = data.o.attr("id");
var match = copy_from_group.match(/gp_/);
}
},
"create":{
"label": "New"
},
},
"dnd" : {
"default_position" : "inside"
},
"types": {
"max_depth" : <% $depth %>,
'types':{
's':{
'icon' :{
'image' : '/icons/s16x16.png',
},
},
'p': {
'icon' :{
'image' : '/icons/p16x16.png',
},
},
'q': {
'icon' :{
'image' : '/icons/q16x16.png',
},
},
'w': {
'icon' :{
'image' : '/icons/w16x16.png',
},
},
},
},
"plugins" : ["types","dnd","ui","crrm","themes","contextmenu","html_data","checkbox" ]
})
});
我甚至设法确保树不移动节点,只更新第一棵树的节点。但是我似乎无法删除当jstree不允许您移动节点时显示的X。我该怎么做呢。还有,我如何更新只进行一次复制/移动调用,而不是每次节点悬停在次要节点上
提前感谢打开此文件并单击jsHint,也许这些提示会有所帮助。这只是代码的摘录,因此可能看起来不起作用。但它确实很好。我只是发布配置,因为我不想提供任何其他信息。但是谢谢你的“宝贵”反馈:那么,你让它工作了吗?
jQuery(document).ready(function(){
jQuery("#tree2")
.jstree({
"core" : {
"load_open" : "true"
},
"crrm" : {
"move" : {
"always_copy" : "multitree",
"check_move" : function (data) {
var p = this._get_parent(data.o);
if(!p) return false;
p = p == -1 ? this.get_container() : p;
if(p === data.np) return true;
if(p[0] && data.np[0] && p[0] === data.np[0]) return true;
var from = data.o.attr("group");
var to = data.r.attr("group");
var tocheck = parseInt(to) + 1;
if(from == tocheck)
{
return !(data.p === "before" || data.p === "after");
}
else
{
return false;
}
}
},
"create":{
"label": "New"
},
},
"dnd" : {
"default_position": "inside"
},
"types": {
"max_depth" : 7,
},
"plugins" : ["types","dnd","ui","crrm","themes","contextmenu","html_data","checkbox" ],
"contextmenu" : {'items' : customMenu }
})
});