jQuery FileTreeを使用しています。javascript ajax (jQuery ではなく古い学校の javascript xmlhttp 要求) を介してファイルをアップロードした後、次のコードを使用して fileTree を呼び出します。
$('#jstree').fileTree({
script: '/ajax/file_tree2/' + path,
multiFolder: true,
expandSpeed: 250,
collapseSpeed: 250
});
...これにより、クリックできる素敵なグラフィック ファイル ツリーが生成されます (path変数は新しいフォルダーで、URI セグメント変数として使用されます。サーバー側コネクタの jQueryFileTree.php コードを public にコピーしただけです)。 CodeIgniter コントローラ クラスの関数. これは追加情報であり、問題とは何の関係もないと思いますが、参考までに)。
しかし、何らかの理由で、(ページをリロードすることなく) 新しいファイルをアップロードして 2 回目の呼び出しを行うと、ファイル ツリーが更新または更新されません。別のフォルダーに新しいファイルをアップロードするときに、ツリー構造を更新したいと考えています。
ローダーgifを使用して、 #jstree 要素自体をクリアしようとしました:
$('#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
});
これらは何もしないか、js エラーを返します。