2015-02-07 56 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. 
});