Jquery 移除并选择2';最后的选择是什么?

Jquery 移除并选择2';最后的选择是什么?,jquery,jquery-select2,Jquery,Jquery Select2,我想创建一个小函数,阻止用户从多选列表中选择3个以上的项目。 我在网上发现了一些有用的东西,当用户选择3个以上的项目时,我可以通过这些东西发出警报。但是,我找不到删除最后选定项的方法 到目前为止,以下是我的jQuery: $('.metiersMission').change(function(event) { if ($(this).val().length > 3) { alert('Vous ne pouvez choisir que 3 métiers'); $(t

我想创建一个小函数,阻止用户从多选列表中选择3个以上的项目。 我在网上发现了一些有用的东西,当用户选择3个以上的项目时,我可以通过这些东西发出警报。但是,我找不到删除最后选定项的方法

到目前为止,以下是我的jQuery:

$('.metiersMission').change(function(event) {
if ($(this).val().length > 3) {
    alert('Vous ne pouvez choisir que 3 métiers');
    $(this).select2('val', '');
}
}});
有了这段代码,如果用户选择了3个以上的项目,代码只会删除用户曾经选择的所有内容,这显然不是我想要的。我在任何地方都找不到关于这个的任何东西,有人知道吗


提前感谢

您可以收听
更改
事件并计算所选选项。如果所选选项为3,则禁用所有其他选项:

$(文档).on('change','select',function()){
var,该值=$(此值);
var val=that.val();
如果(值长度>2){
//查找每个未选中的选项并禁用它们
.find('option').not(':selected').attr('disabled','disabled');
}否则{
//启用所有选项
.find('option').removeAttr('disabled');
}
});
选择{宽度:250px;高度:150px}

沃尔沃汽车
萨博
欧宝
奥迪
雪铁龙
法国标致汽车

您可以监听每个子项的更改,如果选择的子项超过3个,则拒绝选择子项:

$('.metiersMission').children('option').each(
    $(this).change(function(event) {
        if ($(this).parent('select').val().length > 3) {
            alert('Vous ne pouvez choisir que 3 métiers');
            $(this).removeAttr('selected');
        }
    }});
)};