2016-04-08 13 views
0

私はjQuery FileTreeを使用しています。jQueryFileTreeインスタンスのクリア、新しいインスタンスの再インスタンス化またはリフレッシュの方法

$('#jstree').fileTree({ 
      script: '/ajax/file_tree2/' + path, 
      multiFolder: true, 
      expandSpeed: 250, 
      collapseSpeed: 250 
     }); 

...私は周りにクリックできる素敵なグラフィックファイルツリーを生成します:JavaScriptのAJAX(古い学校のjavascript XMLHTTPリクエストではなく、jQueryの)を介してファイルをアップロードした後、私は次のコードを使用してfileTreeを呼び出します(path変数は新しいフォルダで、URIセグメント変数として使用されています。サーバー側コネクタjQueryFileTree.phpコードをCodeIgniterコントローラクラスのpublic関数にコピーしました。これは、問題とは何か関係があると思う、ちょうどFYI)。

しかし、何らかの理由で新しいファイルをアップロードして(ページをリロードしなくても)ファイルツリーが更新されたり更新されたりすることはありません。私は別のフォルダの新しいファイルをアップロードするときにツリー構造をリフレッシュしたい。

私はローダーGIFを使用して、#jstree要素自体をクリアしようとしました:

$('#jstree').html('<img src=\"'+$("#base_url").html()+'/assets_/images/loading/loading36.gif\" />'); 

...あるいは単にHTMLをクリア:

$('#jstree').html(''); 

私はコマンドを試してみました「破棄」または「リフレッシュ」のように、他のウィジェット型ライブラリの一部である:

$('#jstree').fileTree.destroy(); 

$('#jstree').fileTree({ 
      refresh: true, 
      script: '/ajax/file_tree2/' + path, 
      multiFolder: true, 
      expandSpeed: 250, 
      collapseSpeed: 250 
     }); 

これらの何もしないか、AJを返すのいずれかsのエラーです。

答えて

1

私はからライン203をv2.1.4の生のソース(467904a3ab5c13df094ffe01ddb0d0fea24c5d6a)をダウンロードして修正:私はfileTreeをリロードしたい場合、私はちょうど通過し、

if (!data || (Object.prototype.toString.call(args) === '[object Object]' && args.reload)) { 

if (!data) { 

引数配列の "reload:true"

+0

私はまだこのプロジェクトにいるので、選択した回答としてマークする前にこの回答をテストしてみましょう。 – TARKUS

+0

うまくいけばそれはあなたを助けるでしょう。私はJSの達人ですので、これを行うためのより良い方法があるかもしれませんが、私にとってはその目的を果たしました:) – ixM

関連する問題