$(document).ready(function () {
$("#example").autocomplete("https://graph.facebook.com/me/friends?access_token=" + accessToken + "&callback=?", {
width: 250,
height: 400,
max: 8,
dataType: 'jsonp',
cacheLength: 10,
minChars: 1,
parse: function (data) {
var rows = new Array();
data = data.data;
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i].name, result: data[i].name };
}
return rows;
},
formatItem: function (data, i, n, value, text, a, b, c, d) {
var x = getImage(data.id);
return "<div class='test2'><img class='test' width='32px' height='32px' src='" + x + "'></img><span>" + data.name + "</span></div>";
},
}
).result(function (evnet, item) {
alert(item.id);
});
});
<input type="text" id="example"/>
Я использую этот код для автоматического поиска друзей в Facebook. Он работает, но работает слишком медленно, потому что каждый раз функция автозаполнения ищет данные из удаленного местоположения.
Есть ли другой способ передать удаленные данные, сохранив переменную и передав ее в функцию .autocomplete ().
Позже я попытался сохранить удаленные данные в переменную, но не могу передать переменную в автозаполнение.
jQuery (документ) .ready (function () {
var aToken = document.getElementById('aToken').value;
jQuery.getJSON("https://graph.facebook.com/me/friends?access_token="+aToken, function(data) {
var data = data;
});
jQuery("#name_inp").autocomplete({
width: 500,
height: 200,
max: 5000,
source: data,
dataType: 'jsonp',
cacheLength: 10,
minChars: 1,
parse: function (data) {
var rows = new Array();
data = data.data;
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i].name, result: data[i].name };
}
return rows;
},
formatItem: function (data, i, n, value, text, a, b, c, d) {
var x = getImage(data.id);
return "<div class='test2' onclick='return getId("+data.id+");'><span>" + data.name + "</span></div>";
},
}
)
});