我需要通过ajax下载comboBox Select2中的城市名称,但到目前为止还没有成功。在互联网搜索中有很多例子,但不太了解它们。
$(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:
[{ "id": 1, "text": "Capital, Córdoba, Argentina" }]
骰子“搜索...”Y luego“未找到结果”
真的,谢谢!
发布于 2016-08-11 10:10:24
首先,如果您使用的是Select2版本的4+,请确保在<select>
元素上初始化select2(),否则它的许多特性(如AJAX )将被关闭。
Select2需要您的服务器提供格式化的答复:http://localhost:8000/api/city?
服务器返回的响应应如下所示:
[
{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。
希望它能帮上忙!
https://stackoverflow.com/questions/38886006
复制相似问题