我有一个远程源,它不返回id和值或标签。如何将其用作jquery自动完成插件的源代码?
答案 0 :(得分:2)
您应该传递source
手动发出AJAX请求的函数,然后对返回的数据执行一些后处理:
source: function(request, response) {
$.ajax({
url: url,
data: request,
dataType: "json",
success: function(data) {
var processedData = $.map(data, function(item) {
return {
value: item._your_property, // Property you want to use for "value"
label: item._another_property // Property you want to use for "label"
}
});
response(processedData);
},
error: function() {
response([]);
}
});
}
基本上,使用$.map
将您返回的数组转换为自动完成小部件支持的对象数组。
有关工作示例,请查看jQueryUI演示页面上的JSONP example。