2012-04-03 158 views
5

私は確かにそれを達成するのは簡単ですが、私はそれを行う方法を見つけることができません。 ページ全体を更新せずにJQueryプラグインをリロードして値を更新できますか?私は同様の質問を読んだことがありますが、特定のプラグインを対象としています!私は誰かがこれを達成するための "一般的な"方法を知っているかどうか知りたいので、多くのJQプラグインで使用できます。JQueryプラグインを再読み込み/再描画/更新してその値を更新するにはどうすればよいですか?

JAVASCRIPT

$(document).ready(function() { 
    $('#fileTree').fileTree({ 
     root: '/some/path/to/somewhere/', 
     script: 'js/jqueryFileTree-1.01/connectors/jqueryFileTree.php', 
     folderEvent: 'click', 
     expandSpeed: 1000, 
     collapseSpeed: 1000, 
     multiFolder: false, 
     loadMessage: 'Loading...' 
     }, function(file) { 
      relativePath=file.replace("/some/path",""); 
      aFunction(relativePath, file); 
     }); 
    }); 

とにかく、より具体的に、私はJQuery File Tree をリロードするために、この質問を聞いてるのよ、私が持っているこの...確かにそれを行う方法があるはずです特定のPOINで

HTML

<div id="fileTree" class="fileTree"></div> 

t、私は選択したファイルを削除するAJAX + PHPコードがあります。これはうまくいく!しかし、削除されたファイルはまだファイルツリーに表示されています。その機能の成功イベントにwindow.location.reload()を追加すると、明らかにページ全体が読み込まれ、ツリーには実際のファイルが意図した通りに表示されます。

質問:ページ全体を更新せずにリロードする方法はありますか?

このプラグインの作者に注意してくださいTwitterで私に言った:

@metafaniel問題は、それはもはや私たちのプロジェクトのいずれかで使われているではありません。 これはオーバーホールが必要な古いスクリプトです。 @abeautifulsite経由で

@metafanielあなた自身で追加する必要があります。プラグインは非常に古くて なので、完全なAPIはありません。 @abeautifulsite経由で

私は別のプラグインでコードを書き直す時間がありません。私はこれを終了しなければなりません!何か案は?助けてください、ありがとうございます)

+0

通常、同じパラメータを使用してプラグインを再度呼び出して、リセット/リロードすることができます。 – Blazemonger

+0

親の 'div'を空にして('#fileTree')、プラグインをもう一度呼び出す – js1568

+1

まあ、もちろんそうです。両方に感謝します。うん、これまでのやり方だけど、別の方法があるはずです... JSファイルにJavascriptコードがあります。おそらく、.jsコードを直接実行するコードがいくつかありますか?あなたはそれを行う方法を知っていますか?あなたの助けをありがとう=) – Metafaniel

答えて

0

OPがこれを行うためのダイレクトプラグインコマンドを要求している場合は、恐れがあります。ここで私の解決策は、かなりうまくいきます。あなたのプラグインをインスタンス化する直前に、あなたは親のdivの内容を消去し、その後、

<div id="file-tree-holder"> 
    <div id="jstree" ></div> 
</div> 

次に、あなたのJavaScriptで:あなたがやっていることは、親のdivにこのような何かを、あなたの空<div id="jstree"></div>をラップで次のようにターゲットdivを親div内に書き直します。

 $('#file-tree-holder').html(''); 
     $('#file-tree-holder').html('<div id="jstree" ></div>'); 
     $('#jstree').fileTree({ 
      script: '/ajax/file_tree2/' + path, 
      multiFolder: true, 
      expandSpeed: 250, 
      collapseSpeed: 250, 
      loadMessage: 'Loading...' 
     }); 

...これはかなりうまくいきます。

関連する問題