我的网站上安装了jquery和jquery ui,我有
$(document).ready(function(){
//alert('it ran');
$('.global_search').autocomplete({ source: "global_search.php", select: function( event, ui){ window.open( ui.item.url ); } });
});
当我查看chrome中的网络选项卡时,我看到了结果 global_search.php?term = 54650(注意我搜索了54650)
我从中得到的回应是
{"150000":{"name":"Event: TestRod08.28.2012","value":"Event: TestRod08.28.2012","link":"event_profile.php?event_id=2939"}}
哪个应该显示“Event:TestRod08.28.2012”,点击后应该转到event_profile.php?event_id = 2939,但列表从未显示出来?我有其他jquery自动完成工作在同一页面上,列表显示正常。任何想法?
答案 0 :(得分:1)
尝试
$('#test').autocomplete({
source : function(request, callback) {
$.ajax({
url : "data.json",
datatype: 'json'
}).done(function(data) {
var results = []
$.each(data, function(key, value) {
results.push({
id : key,
label : value.name,
url: value.link
});
});
callback(results);
});
},
select : function(event, ui) {
window.open(ui.item.url);
}
});
演示:Plunker
答案 1 :(得分:0)
var options, a;
jQuery(function(){
options = { serviceUrl:'global_search.php'};
a = $('.global_search').autocomplete(options);
});
你可以试试。
答案 2 :(得分:0)
发现我的global_search.php返回了一个json对象而不是一个json数组(我有键控值)当我删除键时它工作得很好
谢谢大家的帮助