爲什麼當我使用javascript代碼在我的下拉列表上設置選定值時,屬性'selected'沒有在html中設置,但在佈局中沒問題。所選選項不顯示在html中
$("#my_dropdown").val('some_value');
$("#my_dropdown option[value='"+some_value+"']").attr("selected", true);
爲什麼當我使用javascript代碼在我的下拉列表上設置選定值時,屬性'selected'沒有在html中設置,但在佈局中沒問題。所選選項不顯示在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代碼中創建元素的內容,即它是初始值。
該屬性是當前值,因此您可以在不影響相應屬性的情況下更改屬性。
在select
元素中使用val
將設置該選項的selected
屬性,但不會更改selected
屬性。
在jQuery中分別有attr
和prop
方法來設置屬性和屬性。
不應該是.prop(「selected」,「selected」);? – KnF
@KnF根據規範,'selected'屬性不需要任何值,因此您可以指定任何您喜歡的內容。我更喜歡'true',因爲這個值應該是一個布爾型IMO –
您是對的。prop(「selected」,true)爲prop方法..和.attr(「selected」,「selected」)爲attr方法..雖然是一樣的.... – KnF