当API工作时,Select2 - Dropdown未显示

时间:2017-02-05 07:00:48

标签: jquery select2

我正在使用Select2进行自动完成,我正在从远程加载列表。

看看下面的代码:

HTML:

<div>
    <select class="tagsSearch" style="width: 100%">
        <option value="2" selected="selected"></option>
    </select>
</div>

jQuery的:

<script type="text/javascript">
$(".tagsSearch").select2({
placeholder: 'Search for tags',
tags: true,
multiple: true,
tokenSeparators: [',', ' '],
minimumInputLength: 2,
minimumResultsForSearch: 1,
ajax: {
    url: function (params) {
        return '/api/searchTags?text=' + params.term;
    },
    dataType: "json",
    type: "GET",
    processResults: function (data) {
        return {
            results: $.map(data, function (name) {
                return {
                    name: name,
                }
            })
        };
    }
}
});
</script>

问题:当使用params对URL进行网络调用并且结果又回来时,它没有显示在我的下拉列表中。

实际的API响应(我从浏览器网络日志中看到:

[{"name":"bottomline-technologies"}]

这就是前端的样子:

enter image description here

因此API响应正常。我在这里做错了什么?

提前致谢

1 个答案:

答案 0 :(得分:1)

由于JohnS在this帖子上指出了一些内容,这是固定的。

问题是processResults应该返回 id text 变量。根据我的最终解决方案,你只需要映射它们:

StringDeduplicationAgeThreshold

PS:这还包括清理代码,但问题在于缺少变量。