我正在创建一个简单的select2搜索框,其中包含对php页面的远程请求。
我选择使用“json”而不是“jsonp”,它似乎正常工作。
问题是结果是白色的:没有写入元素列表。
在我无法发布的图片中,因为“我需要发布至少10个声望”... - .- 您可以在输入框中看到字母“d”和:
代码如下:
function MultiAjaxAutoComplete(element, url) {
$(element).select2({
minimumInputLength: 1,
ajax: {
url: url,
dataType: 'json',
data: function(term, page) {
return {
q: term,
page_limit: 10
};
},
results: function(data, page) {
return {
results: data
};
}
},
formatResult: formatResult,
formatSelection: formatSelection,
initSelection: function(element, callback) {
var data = [];
$(element.val().split(",")).each(function(i) {
var item = this.split(':');
data.push({
id: item[0],
title: item[1]
});
});
//$(element).val('');
callback(data);
}
});
};
function formatResult(movie) {
return '<div>' + movie.title + '</div>';
};
function formatSelection(data) {
return data.title;
};
MultiAjaxAutoComplete('#advertiser', '/AJAXController');
并返回的json数据如下
[{"id":"12889","title":"Donnie Darko" },
{"id":"8", "title":"Another title"}
]
PS:我得到了两个结果,因为此刻,我将json数据作为直接输出文本返回“echo&lt;&lt;&lt;&lt; EOF ...”
谢谢你, 莫罗
答案 0 :(得分:0)
var data = [
{ "id":"12889", "title":"Donnie Darko" },
{ "id":"8", "title":"Another title"}
]
$(element).select2('data', data);