ajax内部自动完成无法正常工作...帮助
$.ajax({
url: 'url',
type: 'GET',
dataType :'jsonp',
async: false,
crossDomain:true,
success: function(data) {
var resp = data.response;
var availableTags="[";
for (i = 0; i <= 10; i++) {
var postSub = resp.messages.message[i].subject.$;
if (i < 10) {
availableTags += postSub + ",";
}
else {
availableTags += postSub;
}
}
availableTags += "]";
$("#tags").autocomplete({
source: availableTags
});
}
});
答案 0 :(得分:1)
它不会填充,因为可用的Tags是字符串,而不是数组类型。你应该把它作为一个数组。更改您的代码,
var availableTags = "[";
for (i = 0; i <= 10; i++) {
var postSub = resp.messages.message[i].subject.$;
if (i < 10) {
availableTags +="\"" +postSub + "\",";
}
else {
availableTags +="\""+ postSub+"\"";
}
}
availableTags += "]";
availableTags=eval(availableTags);
答案 1 :(得分:0)
您不需要自己制作AJAX请求,因为source
参数将URL作为字符串,并将为您完成所有这些操作。试试这个:
$("#tags").autocomplete({
source: 'yourURL'
});