如何销毁属于特定类的所有select2选择

时间:2015-10-20 16:59:38

标签: jquery-select2

我正在开发一个软件,其中所有选择元素都使用select2库。 在页脚中有这样的代码:

$('select').select2();

现在我正在开发一个新屏幕,有些选择将使用select2而其他人不会这样,所以我创建了这个类" .noSelect2"对于那些不应该有select2的人。 当我输入这段代码时,它只会破坏第一个选择:

$('.noSelect2').select2('destroy')

我可以做些什么来摧毁所有元素?

1 个答案:

答案 0 :(得分:4)

使用类来定位具有Select2的东西的问题是,Select2过去将类复制到容器元素,因此您可以在那里应用CSS。因此,使用该类定位<select>也会导致定位<div>或其他容器元素,这会触发错误。

简单的解决方案是在类选择器前添加select,因此它只定位<select>元素。

$('select.noSelect2').select2('destroy')

在4.0.0 there is a known bug中调用select2('anything'),因为在选择多个实例时它并不一致。这应该由Select2的下一个版本(4.0.1)修复。