私は単純だと思うことに苦しんでいます。私は前にJQueryを使わずに普通の古いjavascriptで同じ問題を抱えていたことを知っています。私は何をしようとしています:Jqueryのトリガーイベントはコンテンツを追加しますが、DOMは準備ができていません
//When the postal code blurs, lookup the city, country, province
$('#codePostal').blur(function(){
$.get('/fr/radio-telethon/ajax_code_postal.php', {code_postal: $('#codePostal').val()}, function(data){
if(data.code_postal.toLowerCase() == $('#codePostal').val().toLowerCase()){
$('#ville').val(data.ville);
$('#pays').val(data.pays);
$('#pays').trigger('change');
$('#province').val(data.province);
$('#province').trigger('change');
}
});
});
これは基本的にポストコード検索スクリプトを呼び出し、データを持つオブジェクトを返します。データ自体は正しいです、私はそれを警告することができ、それは正常に表示されます。問題は、#pays(英語の国)の変更トリガーによって#province(state)内の情報がリロードされ、DOMがstruglingして情報をロードしていないように見えることです。
私は国のトリガーと州のvalとの間に警告すると、私は正確に地域を設定することができます。私は地方ボックスに州を追加するために使用する方法は以下の通りです:
//Empty the provinces
$('#province').empty();
//Get the new data
$.get('/include/radio-telethon/formulaire-ajax.php', {pays: code}, function(data){
//Loop the items
for(i in data.options){
$('#province').append('<option value="'+data.options[i].value+'">'+data.options[i].label+'</option>');
}
//Setup the label
$('#labelProvince').html(data.label);
});
だから私の推測では、APPENDが、私は($を行うように見えることはできません、なぜすべてのものをめちゃくちゃにし、全体のDOMを作る残るとザッツされていることです'#province')。val(data.province);
私ですか?または、私が見つけることができないような魔法のトリックがあります...
ああ、私はまた、$( '#州')を実行しようとしましたレディ(関数(){$(この).val(data.province);}); –