Событие select2:select
предоставляет вам данные о выбранном объекте.change
событие не имеет.Следовательно, для инициализации моего выбора:
async function initSelect(jobj, getDataParams, width, callback) {
try {
if (jobj.data('select2Id') || jobj.data('select2')) {
jobj.select2('destroy').empty()
}
} catch (e){}
try {
if(callback) {
jobj.on('select2:select', function (e) {
callback(e)
});
}
}
}
У меня есть зависимые выборы, например, если вы выбираете SelectA, SelectB инициализируется.Я хотел бы иметь возможность программно выбирать элемент в SelectA и запускать его select2:select
событие, которое затем уничтожит и снова заполнит SelectB.
В настоящее время все ответы, которые я видел в Интернете, говорят $('#selectA').val(301235).trigger('change')
, но это не вызывает событие select2:select
в SelectA, и поэтому я не могу выполнить обратный вызов, который знает данные selectA для использования для заполнения SelectB.