私は、リストから最大5つのオプションを選択するオプションをユーザに与えたいと思うクライアントを持っています。私はChosen.jsコンセプトが好きですが、選択をどのように制限できますか? 1つの解決策は、選択された数を数えるためにonChangeを使用し、残りの部分を無効にすることですが、もっときれいな解決策はありますか?Chosen.js - 選択したアイテムの数を制限できますか?
$(".chzn-select").chosen({ max_selected_options: 5 });
私は、リストから最大5つのオプションを選択するオプションをユーザに与えたいと思うクライアントを持っています。私はChosen.jsコンセプトが好きですが、選択をどのように制限できますか? 1つの解決策は、選択された数を数えるためにonChangeを使用し、残りの部分を無効にすることですが、もっときれいな解決策はありますか?Chosen.js - 選択したアイテムの数を制限できますか?
$(".chzn-select").chosen({ max_selected_options: 5 });
選ばれたが、あなたがこれを行うことができるように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--;
}
});
お試しください。その作業は非常にスムーズです。
D'oh!どのように私はそれをお見逃しですか?とても簡単。 –
これで、クライアントは自分の考えを変え、代わりにチェックボックスを使いたいと思っています。このソリューションのための@mccannfのおかげで、別の日のために記憶されます。 –
@mccannf初期設定後にmax_selected_optionsを変更できますか? max_selected_optionsを変更しようとするとうまくいかないようです –
max_selected_options:5は、私の場合には動作しない
他のオプションを無効にする必要はありません。選択肢の6番目のオプションをオフにして、メッセージを表示することができます。 – shin