javascript コードを使用してドロップダウン リストで選択した値を設定すると、「選択済み」属性が html では設定されず、レイアウトでは問題なく設定されるのはなぜですか。
$("#my_dropdown").val('some_value');
$("#my_dropdown option[value='"+some_value+"']").attr("selected", true);
javascript コードを使用してドロップダウン リストで選択した値を設定すると、「選択済み」属性が html では設定されず、レイアウトでは問題なく設定されるのはなぜですか。
$("#my_dropdown").val('some_value');
$("#my_dropdown option[value='"+some_value+"']").attr("selected", true);
使用prop()
:
$("#my_dropdown option[value='" + some_value + "']").prop("selected", true);
ただし、質問の最初の方法(を設定するval()
)の方が良い方法です。
属性とプロパティには違いがあります。
属性は、要素が作成された元の HTML コードの内容です。つまり、初期値です。
プロパティは現在の値であるため、対応する属性に影響を与えずにプロパティを変更できます。
要素で使用val
すると、オプションのプロパティが設定されますが、属性は変更されません。select
selected
selected
jQuery には、属性とプロパティをそれぞれ設定する メソッドattr
とメソッドがあります。prop