我在我的网站上使用了一个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上添加,因此它实际上不起作用。
提前致谢
答案 0 :(得分:0)
在@ karan3112推荐之后我添加了这个
$("#myselect").select2({maximumSelectionLength:3}).trigger('selection:update');
添加禁用属性后,工作正常。