2015-09-25 92 views
0

我在我的web應用程序中使用jsTree(最新版本)。我有很多節點要顯示在樹中,所以我使用延遲加載,否則我會遇到超時。 加載樹時,用戶可以從第二個樹中選擇值並將它們移動到延遲加載的樹中(jsTree插件「dnd」)。兩棵樹都安裝了jsTree插件「dnd」。但是我不能將一個元素放入延遲加載的樹中,當我嘗試這樣做時,要刪除的節點具有帶紅叉的圖標(指示:此處不允許)。jsTree:與延遲加載插件「dnd」不起作用

這是延遲加載樹代碼:

$('#target_tree').jstree({ 
    'core' : { 
    'data' : { 
     "url" : "get_current_hierachy", 
     "data" : function (node) { 
     return {'p_parent_id': node.id}; 
     }, 
     "dataType": "json", 
     "check_callback": true 
    } 
    }, 
    "plugins" : ["dnd"] 
}); 

當我加載在第一棵樹的一些數據沒有延遲加載,將拖放按預期工作。 當我加載第一棵樹中的數據並延遲加載時,drag'n'drop不再有效。

任何幫助將不勝感激。

回答

0

嘗試......

$(document).ready(function() { 

    $('#target_tree').jstree({ 

     'core': { 
      'data': { 

       "url": function (node) { 
        var url; 
        if (node.id == '#') { 
         url = "getRootNode"; 
        } else { 
         var id = $(node).data("id"); 
         url = "getChildNode?nodeid=" + id; 
        } 
        return url; 
       }, 
       "data": function (node) { 
        return { "id": node.id }; 
       }, 
       "type": "GET", 
       "dataType": "json", 
       "contentType": "application/json charset=utf-8", 
      }, 
      'check_callback': true, 
     }, 
     "plugins": ["dnd"] 

    }); 
}); 

我認爲你需要準備的URL

+0

沒有,延遲加載工作完美!決定它是根節點還是子節點是在「get_current_hierachy」過程中完成的。 正如我所描述的,「dnd」插件不再工作,我無法將節點從一棵樹移動到另一棵樹。 – Aubacca