2011-06-21 10 views
0

jQueryの動的に埋め込まれたドロップダウンの初期化に問題があります。 基本的には、私は関数fillCityListを持っており、通過する国によって都市を満たすAJAX呼び出しを行います。 これはEditフォームで使用されているため、id_cityHiddenフィールドにはデフォルトのCityという値が設定されています。 実際には以下のコードはうまくいきます。しかし、fillCityListは都市リストを埋めるのに時間がかかり、デフォルトの都市が選択されているので、都市リストが準備できていない可能性があります。jQuery動的ドロップダウンのAJAX初期データ問題

$(document).ready(function() { 
    fillCityList(1); 
    $('#city').val($("#id_cityHidden").val()); 
}); 

私は、「AJAX呼び出しのcomplete段階での通話機能」のような解決策があると知っているんだけど、初期化時にそれを必要とします。 解決策の1つは、timeoutまたはdelayfillCityList$('#city').val($("#id_cityHidden").val())の間に設定している可能性がありますが、それはもちろん良い解決策ではありません。

これを行うにはどのような方法が最適ですか?

おかげ

答えて

1

私はあなたが値を更新し、「完了」機能を使用するようにAJAXを構築することをお勧め。

http://api.jquery.com/ajaxComplete/

+0

お返事に感謝が、私はエラーがフォームで起こったとき、それはクラッシュにつながる可能性があるので、それは良い解決策ではないかもしれない言ったように。しかし、これを行う唯一の方法であれば、私はそれを適用するつもりです。 – brsbilgic

+0

エラーが発生すると思われる場合は、try {// code} catch(エラー){//エラーを修正しよう} – Tank