3

私のページには JStree (実際には、3 つのツリーがあります。早すぎてはいけません....) があります。このツリーでは、Ajax を介してノードを動的にロードします。ここでは問題ありません。組み込みのインジケーターは正常に動作します。ここで、ノードが選択されると、同じコントローラーと部分ビュー内の別のメソッドへの Ajax 呼び出しを介して項目のリストを読み込みます。これもうまくいきます。

問題は、2 回目の Ajax 呼び出しで別のインジケーターを使用するように指示する適切な方法を (まだ) 見つけていないことです。私がこれまでに持っているのは

    $(document).ready(function() {
       $('.loadingIndicator').hide();           
    });

    $(document).ajaxSend(function() {
        $('.loadingIndicator').show();
    });

    $(document).ajaxComplete(function() {
        $('.loadingIndicator').hide();
    });

しかし明らかに、このインジケーターは、ツリーのブランチがロードされたときにもロードを示します。これは紛らわしいです。

助けてくれてありがとう、バーナード。

4

1 に答える 1

0

私自身の質問に答えるために、質問する前に考えるべきだった非常に単純なことをしました。私はまだjavascript/jqueryに怯えていると思います...

とにかく、フラグとして使用するグローバル変数を作成し、適切な ajax 呼び出しの直前にそれを設定し、前の ajaxSend 関数を次のように変換しました。

$(document).ajaxSend(function () {
if (itemLoad === 1) {               
    $('#ListOfBooksHere').showLoading();
    itemLoad = 0;
}           

});

完璧に動作します。

于 2013-05-12T23:12:53.140 に答える