0
以下是我的jQuery代码: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);
}
}
);
}
})
我可以通过下面的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格式有问题吗?
感谢,
我觉得单个'return'会让下面的代码不执行。由于自动完成需要以数组的形式存在,因此需要使用 – pktangyue
。请阅读API。它会工作。 –
http://stackoverflow.com/questions/9750129/is-this-an-expected-behavior-with-return-keyword-on-javascript请看看这个。 – pktangyue