Ответ 1
$('#select_id').val('val').trigger('change');
- это правильный путь, см. здесь
У меня есть поле 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.xx
$('#select_id').val('val').trigger('change');
- это правильный путь, см. здесь
$('#select_id').select2('val', selectedValue);
Для Select2 с вызовом Ajax я боролся с большим количеством опций, но ни один не работал. Затем я пришел к следующему решению, которое работает как charm $ ("# select_id"). Html ($ (""). Val ('val'). Text ('text')). Trigger ("change");
Если вы, как и я, добавили пользовательский обработчик для события 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
}
}
});