我根据 aurelian-scarlat 在 此 GitHub 问题
中的评论找到了解决方案如果你的盒子有一个名为
的类,你会遇到麻烦,因为还有一些其他元素具有相同的类。select2
所以这是错误的:
$('.select2').select2('destroy');
正确的做法是:
$('select.select2').select2('destroy');
或者更改盒子的类别:
$('.select-select2').select2('destroy');
或者更好的是,使用 id:
$('#selectbox').select2('destroy');
我花了一段时间才弄清楚这一点,我希望它对某人有帮助。
我不能使用类名
.select2normalWithouClear
,因为还有一些其他元素具有相同的类。所以我所做的就是为我的所有选择赋予相同的新类名称,并像这样初始化它们:
<select class="form-control select2normalWithouClear edu-level mySelectDropdown" data-placeholder="Select Education Level"><option>Test 1</option><option>Test 2</option><option>Test 3</option></select>
<select class="form-control select2normalWithouClear edu-instituteName mySelectDropdown" data-placeholder="Select Institution Name"><option>Test 1</option><option>Test 2</option><option>Test 3</option></select>
初始化它:
$('.mySelectDropdown').select2({ placeholder: $(this).data('placeholder') });