javascript - 如何在没有触发事件的情况下更改 select2 的值?
问题描述
我有一个select2
选择元素,我通过 jQuery 设置其值
$("#select2").val(elment_id).trigger('change');
但是,我已经定义了一个 onchange 事件处理程序。
$('#select2').on('change', function(e) {
//TODO
});
我只想更改(设置)的值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
推荐阅读
- node.js - .where() firestore 查询无法正常工作?
- java - 如何编写仅在字符串包含某些字符和数字时才激活的正则表达式?
- r - 如何编写一个从 dataframe1 获取数据并将其添加到 dataframe2 的 for 循环?
- c# - 如何将 Swagger 的 XmlComments 仅包含在一个 API 控制器中(不是同一项目中的所有控制器)?
- java - Minecraft Launcher 因 setUnlocalizedName() 而崩溃;但 IntelliJ 做得很好
- python - 通过 ImageDataGenerator 类将 tfrecord 加载到 Keras
- amazon-web-services - 让一个资源只触发一次 lambda
- c# - 以下在本地主机上的开发工作,但在生产中没有
- dialogflow-es - DialogFlow 促销失败
- javascript - 如何减少对象数组?