別の選択から駆動する必要がある動的選択がありますが、IEで(IE9を使用して)動作させることができないようです。私はこの投稿をここで見ましたが、(理解していない限り)これは役に立たなかったようです: Dynamic Related Selects with jQuery, not work in IE。
問題を理解しやすいように、非常に単純化しました。2 つの選択があり、1 つはもう一方を駆動します。つまり、最初のもので何かを選択すると、2 番目のものは変化します。この例では、select に新しい項目を追加しているだけですが、これでも IE では機能しません。
var mydiv = $("#testdiv");
$("<select id='f1'>").appendTo(mydiv);
$("<select id='f2'>").appendTo(mydiv);
$("#f1").append("<option value='1'>1</option>");
$("#f1").append("<option value='2'>2</option>");
$("#f2").append($("<option>").attr("value", "n"));
$("#f1").change(function () {
$("#f2").append("<option value='t1'>t1</option>");
});
<div id="testdiv"></div>
したがって、理論的には、2 つの選択リストから開始する必要があり、「f2」はその中の 1 つの空白のオプションになります。
次に、「f1」から項目を選択すると、「f2」に新しいオプションが追加されます。
これは、firefox と chrome で希望どおりに機能します。IE では、奇妙な動作をするだけです。IE で次の例を見てみましょう。
シナリオ 1
- ページを開き、「f2」の選択を確認します。空白の値が 1 つある
- 「f1」で項目を選択
- 「f2」を確認すると、まだ空白の値が 1 つあります
シナリオ 2
- ページを開き、「f2」選択に触れません。
- 「f1」で項目を選択
- 「f2」にチェックを入れると、2項目あります!
- 「f1」で別の項目を選択します
- 「f2」をチェックすると、まだ2つのアイテムがあります?!?
そのため、選択コントロールを初めてアクティブ化するときに、既存の HTML で何かを行う必要があるように見えます...そして、ここからレンダリングするのはそれだけです...
これは私を夢中にさせています、私は何を間違っていますか?!?
注: 問題があるかどうかはわかりませんが、非同期呼び出しが完了するまで値がわからないため、両方の選択が javascript/jquery を使用して動的に生成されます。
コメントによる調査により、質問が更新されました...オブジェクトの動的作成に関する私の最後のメモは、問題を再現するために重要だったようです