1

我在我的网站上使用了一个 select2,比如说有 10 个选项。所以我有这个js:

$("#myselect").select2({ 
    maximumSelectionLength: 3
});

选择选项 1 后,我想禁用 Select2 上的所有其他选项。不知何故,就像跳过 maximumSelectionLength 并突然只允许选择一个。但这只有在我选择选项 1 时才会发生。

例如,如果我选择选项 2,我只需要停用选项 1。

因此,一般来说,如果选择了其他选项,则选项 1 需要从最多 3 个选项中排除,并且应该停用所有其他选项,以防一开始就被选中。我希望我在描述中说得很清楚。

这样的事情可能吗?如何?

我试过这个>

if($("#myselect").val() == 1){
    $("#myselect").find("option").each(function(){
        if($(this).val() != 1){
            $(this).attr("disabled", "disabled");
        }
    });
}

这实际上在选择选项 1 时为所有选项添加了 disabled 属性,但不是在生成的 select2 html 代码上,仅在我的初始 html 上,所以它实际上不起作用。

提前致谢

4

1 回答 1

1

在@karan3112 推荐之后,我添加了这个

   $("#myselect").select2({maximumSelectionLength:3}).trigger('selection:update'); 

添加禁用属性后,工作正常。

于 2016-02-09T13:26:48.020 回答