0

我在 jQuery select2 (bootstrap) 插件上有一个奇怪的问题。一切正常,但建议 HTML 按原样显示(以纯文本形式)。我正在实现的代码如下:

<script>
$(document).ready(function () {
    var $ajax = $(".js-example-data-ajax");
    $ajax.select2({
        ajax: {
            url: "...",
            dataType: 'json',
            delay: 250,
            data: function (params) {
                return {
                    q: params.term, // search term
                    page: params.page
                };
            },
            processResults: function (data, params) {
                params.page = params.page || 1;
                return {
                    results: data,
                    pagination: {
                        more: (params.page * 30) < data.total_count
                    }
                };
            },
            cache: true,

        },
        minimumInputLength: 1,
        templateResult: function (repo) {
            if (repo.loading){
                return repo.text;
            }

            var markup = '<div class="col-md-12">' + repo.name + '</div>';
            return markup;
        },
        templateSelection: function (repo) {
            return repo.name || repo.text;
        }
    });
});
        </script>

响应是“<div class="col-md-12">Name</div>” 我在 JQuery 1.11.3 上使用版本 Select2 4.0.1

4

1 回答 1

0

如果要在模板中返回 HTML,则需要返回一个 jQuery 对象。

templateResult: function (repo) {
    if (repo.loading){
        return repo.text;
    }

    var markup = $('<div class="col-md-12">' + repo.name + '</div>');
    return markup;
},
于 2016-02-03T23:47:18.833 回答