以下是我的 jQuery 代码:
$("#destinations").autocomplete({
source: function (request, response) {
$.getJSON("http://localhost/contactApi.do?&callback=?",
{ 'contactMobile': request.term, maxRows: 12, style: "full" },
function(data) {
if(data.ApiResponse){
var x = $.map(data.ApiResponse, function(v, i){
console.log(v)
return {
label: v.Mobile + ' - ' + v.Name,
v: v.Name
}
});
response(x);
}
}
);
}
})
我可以通过 FireBug 观察到以下 JSON 响应是作为输入手机号码(如 123)的结果创建的......
{"ApiResponse":{"Status":1000,"TransactionId":"","Data":{"Contacts":[{"Email":"","Mobile":"123456","Name":"john"}]},"Operation":"api","ResponseTime":"2013-02-05T16:08:33+11:00","StatusText":"Success","RequestTime":"2013-02-05T16:08:33+11:00","Object":"Contact"}}
这表明 jQuery 部分可能工作正常,但我的输入区域下方没有显示过滤结果的下拉菜单。我的脚本或 JSON 格式有问题吗?
谢谢,