首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ajax select2示例

Ajax select2示例
EN

Stack Overflow用户
提问于 2016-08-11 09:39:29
回答 1查看 1.2K关注 0票数 0

我需要通过ajax下载comboBox Select2中的城市名称,但到目前为止还没有成功。在互联网搜索中有很多例子,但不太了解它们。

代码语言:javascript
运行
复制
$(document).ready(function() {
    var url = "http://localhost:8000/api/city?";
    $("#city").select2({
        minimumInputLength: 1,
        ajax: {
            url: url,
            dataType: 'json',
            type: "GET",
            delay: 500,
            data: function (term) {
            return {
                city: term
            };
        },
        results: function (data) {
            console.log(data);
            return {
                results: $.map(data, function (item) {
                    return {
                        text: item.text,
                        id: item.id
                    }
                })
            };
        }
    }
});
});

este es el código json que devuelve mi servidor con a realizada:

代码语言:javascript
运行
复制
[{ "id": 1, "text": "Capital, Córdoba, Argentina" }]

骰子“搜索...”Y luego“未找到结果”

真的,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-08-11 10:10:24

首先,如果您使用的是Select2版本的4+,请确保在<select>元素上初始化select2(),否则它的许多特性(如AJAX )将被关闭。

Select2需要您的服务器提供格式化的答复:http://localhost:8000/api/city?

服务器返回的响应应如下所示:

代码语言:javascript
运行
复制
[
    {id:1,text:'city1'},
    {id:2,text:'city2'},
]

选项:minimumInputLength = 0,会让它在点击minimumResultsForSearch时加载整个列表,控制你需要在select2列表中显示多少搜索结果框。

ajax{data: function(param)}是调用的函数,用于将用户数据格式化为您的服务器可以理解的内容,您在此处返回的内容将发送到您的{ajax:url}

ajax{processResults: function (data, status)},这是当你的ajax从你的服务器得到一个成功的响应时调用的,data将是来自你的服务器的响应这是你最后的机会来确保data的格式像select2所需要的,请看这篇文章的顶部。您在这里返回的是发送到select2。

希望它能帮上忙!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38886006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档