2

選択があり、javascript を使用してオプションを入力しています。何かのようなもの

    var select = document.getElementById("selectBox");

    for (var i = 0; i < data.length; i++) {
        var option = document.createElement("option");
        option.innerHTML = data[i].name;
        option.value = data[i].id;
        select.appendChild(option);
    }

Firefox と Chrome では正常に動作しますが、Internet Explorer では動作しません。IEで生成されたhtmlを確認すると、

    <select id="selectBox"/>

IEで動作させるためにできることはありますか?

編集 開発ツールでhtmlページを更新した後(IEはhtmlの変更後にこれを行いません)、オプションが追加されていることがわかりますが、値の割り当てに問題があるようです。

select.value = theValue;
4

3 に答える 3

7

addの代わりに使用appendChild:

select.add(option);

また、Optionコンストラクターを使用すると、いくつかのコード行を節約できます。

var option = new Option(data[i].name, data[i].id);
于 2013-07-09T23:12:12.500 に答える
0

問題は、選択した値を取得する場所でした。私は ajax 呼び出しを使用していましたが、IE は (私が思うに) 応答をキャッシュしていました。いくつかの値を変更したとき、サーバーは正しい選択オプションを提供する必要がありましたが、IE は常に同じ回答を読んでいたため、間違った選択オプションを提供していました。

于 2013-07-10T13:55:58.710 に答える