Для select2 версії> = 4.0.0
Інші рішення можуть не працювати, однак наступні приклади повинні працювати.
Рішення 1: викликає запуск усіх приєднаних змін зміни, включаючи select2
$('select').val('1').trigger('change');
Рішення 2: спричиняє ДУЖЕ select2 змінити подію
$('select').val('1').trigger('change.select2');
Дивіться цю jsfiddle для прикладів таких. Завдяки @minlare за рішення 2.
Пояснення:
Скажіть, у мене найкращий друг, який вибирається з іменами людей. Тож Боб, Білл та Джон (у цьому прикладі я припускаю, що Значення те саме, що і ім’я). Спочатку я ініціалізую select2 на мій вибір:
$('#my-best-friend').select2();
Тепер я вручну вибираю Боба в браузері. Далі Боб робить щось неслухняне, і я його більше не люблю. Тож система вибрала для мене Боба:
$('#my-best-friend').val('').trigger('change');
Або скажіть, я змушую систему вибрати наступного у списку замість Боба:
// I have assume you can write code to select the next guy in the list
$('#my-best-friend').val('Bill').trigger('change');
Примітки щодо веб-сайту Select 2 (див. Застарілі та вилучені методи ), які можуть бути корисні для інших:
.select2 ('val')
Метод "val" застарілий і буде видалений у Select2 4.1. Застарілий метод більше не включає параметр тригер-зміни.
Натомість слід зателефонувати .val на базовий елемент. Якщо вам знадобився другий параметр (alarmChange), ви також повинні викликати .trigger ("змінити") на елементі.
$('select').val('1').trigger('change'); // instead of $('select').select2('val', '1');