2016-07-05 5 views
0

私は、複数のタイムピッカーを持つタイムピッカーを使用しています。私はビューから単一のtimepickerを変更すると、他のすべての時間ピッカー時間を更新するjqueryを書いてください。以下のように私のjqueryの:私はすべてのtimepicker持つクラス.check-in-timeが更新されます。このピッカーを変更したときにtimepickerが更新されなくなるまで画像をロードする

$("#empattendance-ea_check_in").timepicker("option", "onClose", function(time) { 
    $(".check-in-time").timepicker("setTime", time); 
}); 

#empattendance-ea_check_inは私の単一timepickerです。

すべてがスムーズに動作します。私の問題は、私は他のすべてのタイムピッカーが更新されなくなるまで、画像のロードを表示することです。今すぐonClose timepickerイベントの読み込みイメージが表示されますが、その読み込みイメージを閉じるための成功イベントが見つかりませんでした。画像の読み込みを隠すイベントや方法はありますか?

ありがとうございました。

+0

申し訳ありません:-) UIの再設計のための時間だ、それはあなたが求めているものを正確には明らかではありません。処理のどの時点でローディングイメージを表示したいのですか?また、いつ再び隠蔽しますか? – ADyson

+0

@ADyson: 'Jquery'を使って100以上のレコードに行くと、画面が詰まってエンドユーザが何をすべきか分かりません。実際にバックグラウンドで(Jqueryのクライアントスクリプトで)、他のタイムピッカー値を更新するように動作しています。だから私の要件は、このJqueryの要求が実行され、完全な非表示の読み込みイメージが表示されるまで、イメージの読み込みダイアログを表示することです。 –

答えて

0

このコードは同期的に実行されているため、イベントを処理する必要がないか、コールバック関数を探す必要はありません。

あなたが(または画像やモーダルな背景を持つdiv要素が意味をなすかもしれない)のローディングイメージを持っている場合、あなたはupdateコマンドを実行する前に、単にそれを示し、その後それを隠すことができます。

$("#empattendance-ea_check_in").timepicker("option", "onClose", function(time) { 
    $("#LoadingImage").show(); 
    $(".check-in-time").timepicker("setTime", time); 
    $("#LoadingImage").hide(); 
}); 

をたとえあなたが100人のタイムピッカーを持っていても、コメントで言及しているように、現代のブラウザでは2〜2秒以上かかると少し驚いていますが、これが問題になる場合はこれを処理します。あなたはそれを100個の別々の編集可能な行を持つページがある場合はさておきとして

は、多分それは

+0

私はそれをチェックし、あなたに連絡します。 –

+0

それは働いていません。すべての時間ピッカーを更新した後にイメージをロードしないラインはイメージをロードして表示しません。私はすべてのタスクが並行して実行されていると思います。私が '$("#LoadingImage ")。hide();'とコメントすると、イメージを読み込んでいます。そのローディングイメージは、すべての時間ピッカーが更新されるときにのみ表示されます。 –

+0

あなたが使用しているタイムピッカーコンポーネントは何ですか?それはすべてのオンラインドキュメントですか?私たちは物事が並行して実行されているかどうか、または終了時に処理できるイベントがあるかどうかを調べることができます。 – ADyson

関連する問題