如何在不触发事件的情况下改变select2的值?

Kir*_*ran 1 javascript jquery jquery-select2

我有一个select2select 元素,我通过 jQuery 设置其值

$("#select2").val(elment_id).trigger('change');
Run Code Online (Sandbox Code Playgroud)

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

$('#select2').on('change', function(e) {
//TODO
});
Run Code Online (Sandbox Code Playgroud)

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

Fla*_*der 7

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

$("#select2").val(elment_id).trigger('change.select2');
Run Code Online (Sandbox Code Playgroud)

来自文档:

其他组件通常会监听更改事件,或者附加可能产生副作用的自定义事件处理程序。要将范围限制为仅通知 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
Run Code Online (Sandbox Code Playgroud)