JSON + PHP + JQuery +自动完成问题
问题描述:
只从今天开始,但我遇到了大量问题,试图理解JSON/AJAX等,我已经得到了我的代码到目前为止,但难以知道如何返回正在被AJAX请求到jQuery Auto完成功能。 [ “UGA”, “UK4”, “全球不包括美国,加拿大和加勒比海”]:JSON + PHP + JQuery +自动完成问题
var autocomplete = new function(){
this.init = function() {
$('#insurance_destination').autocomplete({source: lookup});
}
function lookup(){
$.ajax({
url: "scripts/php/autocomplete.php",
data: {query:this.term},
dataType: "json",
cache : false,
success: function(data) {
for(key in data){
return {
label: key,
value: data[key][0]
}
}
}
});
}
}
和示例JSON字符串由PHP脚本 { “乌干达” 返回}
答
通常情况下,你不必做AJAX查询自己:
$('#insurance_destination').autocomplete('url_here', {options_here});
这是假设我们谈论标准的jQuery自动完成插件。我理解正确吗?
编辑 检查API
http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_dataoptions
也有一些例子。
答
这是我已经结束了的代码,它工作于Chrome和Firefox,但不是在IE 6/7 ...
var autocomplete = new function(){
this.init = function() {
$('#insurance_destination').autocomplete({
source: function(request, response) {
debugger;
$.ajax({
url: "scripts/php/autocomplete.php",
dataType: "json",
data: {query:this.term},
success: function(data) {
response($.map(data.countries, function(item) {
return {
label: '<strong>'+item.name+'</strong>'+' '+item.description,
value: item.name,
code : item.region
}
}))
}
})
},
minLength: 2,
select: function(event, ui) {
$('#insurance_iso_code_hidden').val(ui.item.code);
},
open: function() {
},
close: function() {
}
});
}
}
我也尝试太,但它似乎没有不工作要么......这可能是我的PHP的问题,尽管使用手动代码它返回的JSON字符串似乎工作正常,但我无法让自动填充框填充数据。 – RohanCS 2010-05-04 20:59:27
它不应该采用json,值应该用换行符分隔。查看这个页面的例子,特别是提供的示例php脚本:http://view.jquery.com/trunk/plugins/autocomplete/demo/ 让我知道它是否有帮助。 – 2010-05-04 22:52:04