2013-01-16 72 views
0

爲什麼當我使用javascript代碼在我的下拉列表上設置選定值時,屬性'selected'沒有在html中設置,但在佈局中沒問題。所選選項不顯示在html中

$("#my_dropdown").val('some_value'); 

$("#my_dropdown option[value='"+some_value+"']").attr("selected", true); 

回答

4

使用prop()

$("#my_dropdown option[value='" + some_value + "']").prop("selected", true); 

然而,在你的問題的第一個方法(設置val())是更好的做法。

+0

不應該是.prop(「selected」,「selected」);? – KnF

+1

@KnF根據規範,'selected'屬性不需要任何值,因此您可以指定任何您喜歡的內容。我更喜歡'true',因爲這個值應該是一個布爾型IMO –

+0

您是對的。prop(「selected」,true)爲prop方法..和.attr(「selected」,「selected」)爲attr方法..雖然是一樣的.... – KnF

3

屬性和屬性之間有區別。

屬性是HTML代碼中創建元素的內容,即它是初始值。

該屬性是當前值,因此您可以在不影響相應屬性的情況下更改屬性。

select元素中使用val將設置該選項的selected屬性,但不會更改selected屬性。

在jQuery中分別有attrprop方法來設置屬性和屬性。