我正在使用jQuery FileTree。jQueryFileTree如何清除實例,重新實例化新實例或刷新
$('#jstree').fileTree({
script: '/ajax/file_tree2/' + path,
multiFolder: true,
expandSpeed: 250,
collapseSpeed: 250
});
...這產生了很好的圖形文件的樹,我可以按一下週圍:通過JavaScript AJAX文件上傳(老同學JavaScript的XMLHTTP請求,而不是jQuery的),我使用下面的代碼調用文件樹(path
變量是新的文件夾,被用作一個URI段變量,並且我簡單地將服務器端連接器jQueryFileTree.php代碼複製到一個CodeIgniter控制器類的公共函數中,這是額外的信息,認爲這與問題有關,僅供參考)。
但是,由於某種原因,當我通過上傳新文件(無需重新加載頁面)進行第二次調用時,文件樹不會更新或刷新。當我爲不同文件夾上傳新文件時,我想刷新樹結構。
我試圖清除#jstree元素本身,使用裝載機GIF:
$('#jstree').html('<img src=\"'+$("#base_url").html()+'/assets_/images/loading/loading36.gif\" />');
...甚至只是清理的HTML:
$('#jstree').html('');
我試着命令它們是其他控件類型庫的一部分,如'destroy'或'refresh':
$('#jstree').fileTree.destroy();
$('#jstree').fileTree({
refresh: true,
script: '/ajax/file_tree2/' + path,
multiFolder: true,
expandSpeed: 250,
collapseSpeed: 250
});
這些要麼不做任何事,要麼返回aj錯誤。
我仍然在這個項目,所以讓我測試這個答案之前,標記爲選定的答案。 – TARKUS
希望它會幫助你。我不是JS大師,所以可能有更好的方法來做到這一點,但對我來說它服務於它的目的:) – ixM