【发布时间】:2013-01-11 03:40:49
【问题描述】:
我有一个客户希望让用户可以从列表中选择最多 5 个附加选项。我喜欢 Chosen.js 的概念,但是如何限制选择呢?我想一种解决方案是使用 onChange 来计算选定的数字,然后禁用其余的,但是有没有更简洁的解决方案?
【问题讨论】:
-
您不需要禁用其他选项,您可以取消选中第6个选项并显示一条消息...
我有一个客户希望让用户可以从列表中选择最多 5 个附加选项。我喜欢 Chosen.js 的概念,但是如何限制选择呢?我想一种解决方案是使用 onChange 来计算选定的数字,然后禁用其余的,但是有没有更简洁的解决方案?
【问题讨论】:
Chosen 提供了一个max_selected_options 以允许您执行此操作:
$(".chzn-select").chosen({ max_selected_options: 5 });
【讨论】:
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--;
}
});
试试看。它的工作非常顺利。
【讨论】: