使用ajax时,select2(4.00)在onSelect事件中返回undefined

时间:2015-10-19 06:43:45

标签: javascript jquery ajax jquery-select2 jquery-select2-4

我使用Select2(版本4.00)并使用ajax方法加载远程数据。

我需要检索所选选项的标题,但在select2中:选择事件数据是未分割的

我的代码:

 $(".js-data-action-terms").select2({
    ajax: {
        url: ajaxurl + "?action=terms",
        dataType: 'json',
        data: function (params) {
            return {
                q: params.term, // search term
                page: params.page
            };
        },
        processResults: function (data, page) {
            return {
                results: data.items
            };
        },
        cache: false
    },
    escapeMarkup: function (markup) {
        return markup;
    },
    minimumInputLength: 1,
    templateResult: formatRepo,
    templateSelection: formatRepoSelection
});

$('.js-data-action-terms').on("select2:select", function(e) {
    console.log(e);
});

结果日志:

enter image description here

1 个答案:

答案 0 :(得分:4)

在Select2 4.0.0中,所选对象已从evt.data属性移至evt.params.data。现在,Select2中事件的所有额外数据都放在evt.params中以保持一致性。