2013-01-11 51 views
5

我有一個客戶想要給用戶從列表中選擇最多5個附加選項的選項。我喜歡Chosen.js概念,但我怎樣才能限制選擇?我想一種解決方案是使用onChange來計算所選的數字,然後禁用餘數,但有沒有更好的解決方案?Chosen.js - 是否可以限制所選項目的數量?

+0

您不需要禁用其他選項,您可以取消選中第6個選項並顯示消息... – shin

回答

11

揀選提供max_selected_options讓你做到這一點:

$(".chzn-select").chosen({ max_selected_options: 5 }); 
+0

D'oh!我怎麼錯過了?很簡單。 –

+0

現在客戶已經改變了主意,並希望用複選框來完成。感謝@mccannf這個解決方案,將會在未來的一天被記住。 –

+0

@mccannf我們可以在初始設置後更改max_selected_options嗎?如果您嘗試更改max_selected_options,它似乎不起作用 –

0

max_selected_options:5是不是在我的情況下工作。所以我修正如下。

var countSelect = 0; 
$(".chosen-select").chosen().change(function (e, params) {   
    if(params.deselected != undefined) { countSelect--; } 
    if(params.selected != undefined) { countSelect++; } 
    if(countSelect > 3) {   
     $('.chosen-select option[value="'+params.selected+'"]').attr('selected', false); 
     $(this).trigger('chosen:updated'); 
     countSelect--; 
    } 
}); 

試試吧。它的工作非常流暢。

相關問題