我正在开发一个软件,其中所有选择元素都使用select2库。 在页脚中有这样的代码:
$('select').select2();
现在我正在开发一个新屏幕,有些选择将使用select2而其他人不会这样,所以我创建了这个类" .noSelect2"对于那些不应该有select2的人。 当我输入这段代码时,它只会破坏第一个选择:
$('.noSelect2').select2('destroy')
我可以做些什么来摧毁所有元素?
答案 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)修复。