Автозаполнение JQuery с удаленными данными JSON - PullRequest
4 голосов
/ 17 декабря 2011
jQuery(document).ready(function () {

var aToken = document.getElementById('aToken').value;

    jQuery("#name_inp").autocomplete("https://graph.facebook.com/me/friends?access_token="+aToken, {
       width: 500,
       height: 200,
   max: 5000,
        dataType: 'json',
        cacheLength: 100,
       minChars: 1,
        parse: function (data) {
    alert(data);
            var rows = new Array();
           data = data.data;
       console.log(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>";
       },

   }
     )
 });

Приведенный выше код помогает получить список друзей пользователей из удаленного вызова API api. Можно ли помочь сохранить данные json, выполнить поиск по запросу пользователя и заполнить сохраненную переменную.

, чтобыэто сэкономит время и точно заполнит результат.

спасибо ..

1 Ответ

1 голос
/ 16 января 2013

Сам код довольно понятен:)

Надеюсь, это поможет!

jQuery(function ($) {

var aToken = $('#aToken').val();

$.get("https://graph.facebook.com/me/friends", {access_token: aToken}, function(result){

        var ppl = new Array();
        for(var i = 0; i < result.data.length; i++){
            ppl[i] = result.data[i].name;
        }

        $("#name_inp").autocomplete({
                                source: ppl,
                                width: 500,
                                height: 200,
                                max: 5000,
                                dataType: 'json',
                                cacheLength: 100,
                                minChars: 1
                            });
}, 'json');
});
...