2013-07-04 43 views
1

向下拉菜單中添加新選項的最佳方式是什麼,並使其成爲不可選列表中的第一個選項?不可選擇的選項值

所以名單應該是這樣的:

<select onchange="document.getElementById('product_configure_form').action = 'http://webshop.com/product/options/3603848/'; document.getElementById('product_configure_form').submit();" id="product_configure_option_22853" name="option[22853]"> 

    <option selected="selected" value="78619">Choose a size</option> // this is the new not selectable option 
    <option selected="selected" value="78619">S</option> 
    <option value="78620">M</option> 
    <option value="78621">L</option> 
</select> 

我知道如何與增加一個選項:

$('#product_configure_option_22853').append('<option value="Choose" selected="selected">{{ 'select your size' | t }}</option>'); 

但是我怎麼讓它不選擇和第一就行了?

任何幫助非常感謝!

+0

小提琴請... –

回答

3

使用.prepend()

$('#product_configure_option_22853').prepend('<option value="Choose" disabled="disabled">{{ 'select your size' | t }}</option>'); 
+0

優秀的,它是!從來沒有想到這一點。還有一種方法可以讓它默認顯示或列表中的第一個顯示? – Meules

+0

好的,看過史蒂夫芬頓的答案。不能沒有很多的jQuery的東西:) – Meules

2

你不能同時擁有兩者。

如果你把一個選項關閉,這將有利於可選擇的選項被跳過,即使是第一次在列表中:

<select> 
    <option disabled>One</option> 
    <option>Two</option> 
    <option>Three</option> 
</select> 

在這個例子中,方案二將顯示爲默認選項。如果它被禁用,你不能選擇一個選項。

如果您真的需要這種行爲,您需要驗證該選項未被選中,而不是依賴於此屬性的HTML屬性。

+0

好吧,我已經看到了。感謝您的回答... – Meules