为什么当我使用 javascript 代码在我的下拉列表中设置选定值时,属性“selected”没有在 html 中设置,而是在布局中设置。
$("#my_dropdown").val('some_value');
$("#my_dropdown option[value='"+some_value+"']").attr("selected", true);
为什么当我使用 javascript 代码在我的下拉列表中设置选定值时,属性“selected”没有在 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
方法来分别设置属性和属性。