2013-01-11 33 views
5

私は、リストから最大5つのオプションを選択するオプションをユーザに与えたいと思うクライアントを持っています。私はChosen.jsコンセプトが好きですが、選択をどのように制限できますか? 1つの解決策は、選択された数を数えるためにonChangeを使用し、残りの部分を無効にすることですが、もっときれいな解決策はありますか?Chosen.js - 選択したアイテムの数を制限できますか?

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

他のオプションを無効にする必要はありません。選択肢の6番目のオプションをオフにして、メッセージを表示することができます。 – shin

答えて

11

選ばれたが、あなたがこれを行うことができるようにmax_selected_optionsを提供します。だから私は次のように修正した。

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--; 
    } 
}); 

お試しください。その作業は非常にスムーズです。

+0

D'oh!どのように私はそれをお見逃しですか?とても簡単。 –

+0

これで、クライアントは自分の考えを変え、代わりにチェックボックスを使いたいと思っています。このソリューションのための@mccannfのおかげで、別の日のために記憶されます。 –

+0

@mccannf初期設定後にmax_selected_optionsを変更できますか? max_selected_optionsを変更しようとするとうまくいかないようです –

0

max_selected_options:5は、私の場合には動作しない

関連する問題