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')
,但这不会导致SelectA的select2:select
事件,因此我无法执行回调知道selectA的数据用于填充SelectB。
答案 0 :(得分:0)
看起来不是试图从事件中抓取数据,而是在select2:select
中提供给我但不是change
,而只是从回调中当前所选项目中获取数据:
if(callback) {
jobj.on('change', function (e) {
// var data = jobj.select2('data')[0]);
callback(e)
});
}