0

カテゴリ用とサブカテゴリ用の 2 つのドロップダウンがあります。カテゴリ ドロップダウンが変更されると、サブカテゴリ ドロップダウンが jQuery/ajax で更新され、新しいサブカテゴリが表示されます。Chrome では問題なく動作しますが、IE は jQuery を介して更新された後、新しい値を表示しません。奇妙なことに、新しいオプションを選択すると正しいテキストが表示されますが、リストをプルダウンすると古いテキストが表示されます。

これは、カテゴリが変更されたときにサブカテゴリのドロップダウンを空にして再入力する方法です。

   $('#testselectsubcat').empty().append(new Option("Pick a subcategory", 0));

   $.each(subcategories, function (index, subcat) {
       $('#testselectsubcat').append(new Option(subcat.name, subcat.id));
   });

編集:この部分を忘れて、重要かもしれません。この問題は、ページが読み込まれた後に jQuery を使用して追加されたドロップダウンでのみ発生します。.append() を使用してカテゴリ ドロップダウンをページに追加し、.after() を使用してサブカテゴリ ドロップダウンを追加します。

IE で動作させるにはどうすればよいですか?

4

2 に答える 2

0

さて、あなたはこのようにサブカテゴリのドロップダウンをクリアする必要があります

// C#:
subcategories.Items.Clear();
// and loaded with new data
 ....

// or clear or empty it using jQuery
 $('#subcategories').chilren().remove();
  $('#subcategories').empty();
于 2013-01-18T18:47:26.210 に答える
0

どうやらIEはappendメソッドを使用して動作しませんnew Option()

$('<option/>').text(x).val(y)次のように追加してみてください。

$('#testselectsubcat').empty().append(
    $('<option/>').val(0).text("Pick a subcategory")
);

$.each(subcategories, function (index, subcat) {
    $('<option/>').val(subcat.id).text(subcat.name).appendTo('#testselectsubcat');
});

または、IEを回避するために使用する他の方法についてはこちらをご覧くださいnew Option()

于 2013-01-18T19:12:29.263 に答える