2015-02-07 59 views
0

我试图将这2个选项应用于特定的chosen-select元素: display_selected_options: false, display_disabled_options: false,但它似乎不起作用。将选项应用于特定选择的select元素

这就是我试过的:$('#chosenElement').chosen({ display_selected_options: false, display_disabled_options: false });

然而,这是行得通的,但适用于所有选择的元素:$('.chosen-select').chosen({ display_selected_options: false, display_disabled_options: false });

我错过了什么?

编辑:渲染html

<select class="chosen-select" data-container="body" data-placement="top" 
    data-toggle="tooltip" id="chosenElement" multiple="multiple" 
name="chosenElement" title=""><option value="2">FFFF</option> 
     <option value="3">AAAAA</option> 
     <option value="1">BBBBB</option> 
     <option value="6">CCCCC</option> 
     <option value="5">DDDDD</option> 
     <option value="4">EEEE</option> 
     </select> 
+0

放置至少一部分HTML代码将会很好。 – 2015-02-07 21:59:06

+0

完成,请参阅已编辑的部分。 – Quoter 2015-02-07 22:09:01

回答

1

通过ID设置所选元素的选项工作正常。只要确保选项稍后不重置(使用类选择器)。

$('#chosenElement').chosen({ display_selected_options: true, display_disabled_options: false }); 

这是demo

+0

'selected-select'元素在启动时处于禁用状态。这可能吗?这很奇怪,因为'$('。selected-select')。selected({display_selected_options:false,display_disabled_options:false});''无论如何。 – Quoter 2015-02-07 22:25:30

+0

是的,这是问题,因为你不能在同一个元素上调用'.chosen'两次。 (你设置的第一个设置将保留) – 2015-02-07 22:27:37

+0

不能相信我浪费了4个小时,因为他们决定不记录这个! – Quoter 2015-02-07 22:38:26

0

既然你知道选择的ID,你可以使用以下命令:

$(".chosen-select").each(function() { // Loop through all selects with the class 'chosen-select'. 
    var options = {}; // Set options to an empty object initially 
    var id = $(this).attr("id"); 
    if(id && id == "chosenElement") { // Check if the select id is the one you want. If so, set the properties below. 
     options.display_selected_options = false; 
     options.display_disabled_options = false; 
    } 
    $(this).chosen(options); // Finally call chosen on the select, passing in options as an argument. 
});