0

AJAX 呼び出しによって動的に設定された選択ドロップダウンがあります。IE 8 以下以外のすべてのブラウザで正しく動作しています。ブラウザがタグ内の要素をレンダリングしていません。リストの設定は次のとおりです。

for (var Id in Options.items) {
                var option = document.createElement('option');
                option.value = Id;
                option.textContent = Options.items[Id];
                if (Options.defaultId === Id) {
                    option.setAttribute('selected', 'selected');
                }
                select.appendChild(option);
            }

            return select.outerHTML;

このコードの中に古いバージョンの IE と互換性がないものはありますか? 検索結果には、「setAttribute」が問題を引き起こす可能性があることが記載されているため、その行を「option.Selected="Selected"」に切り替えてみましたが、効果はありませんでした。私の問題は、appendChild を使用してオプションをリストに追加する方法、または外側の HTML を返す方法にあると感じていますが、どこから始めればよいかわかりません。それらはIEで問題を引き起こす傾向がありますか? どんな助けでも大歓迎です、ありがとう。

4

2 に答える 2

0

あなたの説明から、あなたの問題は、ブラウザーが適切なオプションを強調表示 (選択) しないことだと理解しています...それが正しい場合、代わりに:

option.setAttribute('selected', 'selected');

使用する:

select.value = Id;

私の知る限り、すべてのブラウザで動作します。

于 2013-05-27T22:31:35.373 に答える