触发选择2:选择而不是更改

时间:2018-06-06 23:23:25

标签: javascript jquery jquery-select2

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。

1 个答案:

答案 0 :(得分:0)

看起来不是试图从事件中抓取数据,而是在select2:select中提供给我但不是change,而只是从回调中当前所选项目中获取数据:

if(callback) {
    jobj.on('change', function (e) {
        // var data = jobj.select2('data')[0]);
        callback(e)
    });
}