Jstree免打扰插件:不能在目标上拖放多个节点而不覆盖之前拖放的节点

jstree dnd plugin: cannot drag and drop multiple nodes on the target without the previous dragged node getting overwritten

本文关键字:节点 拖放 覆盖 不能 插件 目标 Jstree 打扰      更新时间:2023-09-26

上下文:如下面的代码所示,在jsp内的输入框中,"fruitTree"中的果实节点将被拖放。

这在拖放时成功发生。每次从fruitTree中拖放水果时,前一个被拖放的水果节点将被新拖放的水果覆盖。

问题:现在,以前丢弃的水果不能被新的拖放的水果节点覆盖。应该可以在输入框中拖放多个水果。

jsp:

      <div id = "mydiv">
            <form id="addFruits">
              <div id ="fruitDetails">
              <label>Name:</label>
               <input type="text" value="" name="fruitName" id="fruitNameId" class="jstree-drop"/>
        </div>
        </form>
        </div>
<div id="fruitTree">
</div>
在javascript:

$('div#fruitTree').jstree({
"crrm":{
"move":{
"check_move":function(m){
return false;
}
}
},
"json_data:{
"data":fruitDataReceivedFromDBSuccessfully
},
"themes":{
"theme":"apple",
"icons":true
},
"dnd":{
"drop_finish":function(data){
$('#fruitNameId').attr("value", $(data.o).attr("name");
},
"drop_check":function(data){}
},
"plugins":["themes","json_data","ui","languages","contextmenu","dnd","search","cookies","crrm","core"]
});

我不确定jstree nd插件是否允许在同一目标上多次拖放而不覆盖以前的值。我已经尝试使用jtree的核心插件来解决这个问题,但它没有工作:

"core" {
"multiple:true,
"animation":0
}

有什么建议吗?

作为一种解决方法,我已经做了如下的事情:

    "drop_finish":function(data){
    if($('#fruitNameId').attr()!=""){
        $('#fruitNameId').attr().append($('#fruitNameId').attr("value", $(data.o).attr("name"));
} else {
    $('#fruitNameId').attr("value", $(data.o).attr("name")
    }
    }