选择特定的一个后,禁用select2上的选项

时间:2016-02-09 10:20:49

标签: javascript jquery html jquery-select2 select2

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

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

当选择选项1时,我想禁用Select2上的所有其他选项。不知怎的,比如跳过maximumSelectionLength并突然只允许选择一个。但只有在我选择选项1时才会发生这种情况。

如果我选择选项2,例如我只需要取消激活选项1.

因此,一般情况下,如果选择了其他选项,则需要从最多3个选项中排除选项1,并且如果在开头选择了其他选项,则应取消激活所有其他选项。我希望我在说明中说得很清楚。

这样的事情可能吗?怎么样?

我试过这个>

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

并且这实际上在选择选项1时将禁用的属性添加到所有选项,而不是在生成的select2 html代码上,仅在我的初始html上添加,因此它实际上不起作用。

提前致谢

1 个答案:

答案 0 :(得分:0)

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

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

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