首页 > 解决方案 > 如何在没有触发事件的情况下更改 select2 的值?

问题描述

我有一个select2选择元素,我通过 jQuery 设置其值

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

但是,我已经定义了一个 onchange 事件处理程序。

$('#select2').on('change', function(e) {
//TODO
});

我只想更改(设置)的值select2而不触发更改事件。任何想法,怎么做?

标签: javascriptjqueryjquery-select2

解决方案


有一个特殊的事件来刷新它:

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

来自文档:

其他组件侦听更改事件或附加可能有副作用的自定义事件处理程序是很常见的。要将范围限制为仅通知 Select2 更改,请使用 .select2 事件命名空间:

$('#mySelect2').val('US'); // Change the value or make some change to the internal state
$('#mySelect2').trigger('change.select2'); // Notify only Select2 of changes

推荐阅读