以下是我的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观察到,因为键入123之类的手机号码,会创建以下JSON响应...
{"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格式有问题吗?
谢谢,
答案 0 :(得分:0)
来自JqueryUI自动完成API Autocomplete
标签属性显示在建议菜单中。价值会 当用户选择项目时插入到input元素中。如果 只指定了一个属性,它将用于两者,例如,如果你 只提供值属性,该值也将用作 标签
应该是这样的。
return
{ label: v.Mobile + ' - ' + v.Name,,
value: v.Name
}