0

郵便番号を受け取り、その郵便番号の都市/郡/州のオプションをデータベースで検索し、3 つの選択ボックスに適切に入力する ajax 呼び出しがあります。これは、Chrome、Firefox、および IE9 で問題なく機能します。しかし、IE8 では、ディスプレイの動作がおかしくなりました。選択ボックスの最初の設定は問題なく機能します。ただし、郵便番号を変更すると、2 番目の母集団が正しく表示されません。選択ボックスの DOM コンテンツは問題ありませんが、ドロップダウンのコンテンツは再作成前のコンテンツです。ただし、オプションの 1 つを選択すると、選択された値は、選択されたオプションが想定されているものになります。2 番目の図では、'Beverly Hills' は 'Washington' と表示されるはずですが、選択すると、実際には選択ボックスに 'Washington' が表示されます。上/下を使用して選択ボックスをナビゲートできます。

プロセスの背後にあるコードは基本的に

jQuery('[id$=city]').html("");
jQuery.each(output.city, function(id, city) {
    jQuery("[id$=city]").append(jQuery("<option></option>").val(city).html(city.capitalize()));
});

jsFiddle で問題を再現しようとしましたが、残念ながらできませんでした。また、問題が発生している正確なページを示すこともできません。そのため、何が起こっているかの写真を含めました。何か案は?強制更新または使用できるものはありますか? 必要に応じて追加情報を提供できます。

最初の一歩

第二段階

4

1 に答える 1

0

私は結局、jQuery以外を介してオプションを選択ボックスに追加することに戻らなければなりませんでした。これで、何らかの理由で私が抱えていた問題が修正されました。

var citySelect = document.getElementById('site.address.city');
jQuery.each(output.city, function(id, city) {
    citySelect.options[citySelect.options.length] = new Option(city.capitalize(), city);
});
于 2012-08-22T21:28:24.767 に答える