使用选定的选项加载 Select2 而不触发更改?

新手上路,请多包涵

有没有办法在不触发更改事件的情况下将 select2 加载到默认值?

目前,我正在做:

 $('#mylist').val(2).trigger("change");

但这会造成延迟,用户一开始会看到一个选项,然后它会改变,这很烦人。

原文由 spacefood 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 592
2 个回答

在 HTML 中设置默认值:

 <select id="myList">
   <option id="foo">option 1</option>
   <option id="bar" selected="selected">option 2</option>
</select>

然后在你的元素上调用 select2 来初始化它:

$('#myList').select2();

或者

$('#myList').select2("val", null);

原文由 Pabs123 发布,翻译遵循 CC BY-SA 3.0 许可协议

我知道我真的很晚才回答这个问题。我遇到了同样的问题。但是做了一些研究,我发现了一个非常有效的解决方案。

您可以使用以下代码设置选项

$("#mylist").val(2).trigger('change.select2');

此解决方案不会触发主要更改事件,但会将选项设置为 select2 组件。

希望对你有帮助。

原文由 BEingprabhU 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题