在不提交表单的情况下设置 Select2 的值
Setting value of a Select2 without submitting form
我开始使用 Select2 替换我应用中的下拉菜单。我的问题是关于如何调整现在有效的方法。
我有一个包含完整日历组件的页面和 3 个用于选择我要显示的日历的下拉菜单。使用下拉列表后,其他 2 个将像那样重置(我使用 jQuery):
$('#dropdown1').prop('selectedIndex',0)
这样做的主要优点是表单仅由 "changed" 下拉菜单提交(每个下拉菜单都有自己的更改事件被捕获以重置其他的)。
使用 select2,如果我使用它,将启动重置下拉列表的更改事件:
$('#dropdown1').select2('val','')
因此所有更改事件都已启动。
是否有任何解决方案可以在不启动更改事件的情况下设置 select2 下拉列表的值?
谢谢
在版本 4 的文档中,您现在可以直接调用 val()
。根据我正在阅读的内容,这不会导致 onChange
因为他们说你必须手动调用它。
来自文档的片段
$('select').val('US'); // Change the value or make some change to the internal state
$('select').trigger('change.select2'); // Notify only Select2 of changes
那么我认为您可以跳过 trigger
电话。
我开始使用 Select2 替换我应用中的下拉菜单。我的问题是关于如何调整现在有效的方法。
我有一个包含完整日历组件的页面和 3 个用于选择我要显示的日历的下拉菜单。使用下拉列表后,其他 2 个将像那样重置(我使用 jQuery):
$('#dropdown1').prop('selectedIndex',0)
这样做的主要优点是表单仅由 "changed" 下拉菜单提交(每个下拉菜单都有自己的更改事件被捕获以重置其他的)。
使用 select2,如果我使用它,将启动重置下拉列表的更改事件:
$('#dropdown1').select2('val','')
因此所有更改事件都已启动。
是否有任何解决方案可以在不启动更改事件的情况下设置 select2 下拉列表的值?
谢谢
在版本 4 的文档中,您现在可以直接调用 val()
。根据我正在阅读的内容,这不会导致 onChange
因为他们说你必须手动调用它。
来自文档的片段
$('select').val('US'); // Change the value or make some change to the internal state
$('select').trigger('change.select2'); // Notify only Select2 of changes
那么我认为您可以跳过 trigger
电话。