如何以编程方式更改select2值

问题描述 投票:18回答:4

我在bootstrap模式中有一个select2框,我想更改select2框的值,但它不起作用。

我在之前的帖子和结果中尝试了每一个解决方案,但没有一个能让它发挥作用。

我使用select2 4.0.2,我测试过:

$('#select_id').val('val').trigger('change.select2');

$('#select_id').val('val').trigger('change');

$('#select_id').val('val').change()

它工作一到两次然后停止工作(随机)


只有当我将select2更改回3.x.x时才能正常工作

jquery-select2 jquery-select2-4
4个回答
33
投票
$('#select_id').val('val').trigger('change');

是正确的方式,请参阅here


4
投票
$('#select_id').select2('val', selectedValue);

0
投票

对于使用Ajax调用的Select2,我在很多选项上都很挣扎,但都没有用。然后我来到以下解决方案,其工作方式类似于charm $(“#select_id”)。html($(“”)。val('val')。text('text'))。trigger(“change”);


0
投票

如果您像我一样为select2添加了自定义处理程序:选择事件,更改值并触发自定义select2事件的正确完整答案将是:

$('#select_id').val('val').trigger('change').trigger({
     type: 'select2:event_name', // It worked for me with select2:selecting and select2:select
     params: {
       args: { // Only use 'args' if using select2:selecting, select2:select does not use it
         data: varWithEventData
       }
     }
});
© www.soinside.com 2019 - 2024. All rights reserved.