2013-07-04 104 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