Select2选项templateResult不被调用

时间:2019-02-27 13:29:16

标签: javascript jquery jquery-select2

我想使用templateResult选项通过select2 v4格式化结果。我有以下代码:

$(".search").select2({
    minimumInputLength: 3,
    ajax: {
        url: url,
        dataType: 'json',
        delay: 250,
        processResults: function (data) {
            return {
                results: data.items
            };
        },
        templateResult: function (data) {
            console.log('templateResult');
            return '<span><img src="//example.com/img.png" /> ' + data.text + '</span>';
        },
    }
});

但是,templateResult似乎没有被调用,因为没有任何内容输出到控制台。即使将返回值更改为“ TEST”,仍会显示默认结果。无论是否包含templateResult,代码的工作原理都是相同的。

2 个答案:

答案 0 :(得分:0)

我在ajax范围内有templateResult。修复如下:

$(".search").select2({
    minimumInputLength: 3,
    ajax: {
        url: url,
        dataType: 'json',
        delay: 250,
        processResults: function (data) {
            return {
                results: data.items
            };
        },
    },
    templateResult: function (data) {
        console.log('templateResult');
        return '<span><img src="//example.com/img.png" /> ' + data.text + '</span>';
    }
});

答案 1 :(得分:0)

检查您的processResults - results: data.items,我切换到data.results