JQuery автозаполнение не работает? - PullRequest
0 голосов
/ 13 августа 2011

Я хочу сделать автозаполнение для удаленного источника данных, я получаю все данные из базы данных и возвращаю их как jSon, с помощью консоли я вижу, что все данные были возвращены, но автозаполнение не работает, а также предупреждение в моем коде не работает, вот мой код

$("#cellPhoneNo").autocomplete({

    source: function(request, response) {
        var param = {
            "action": "getCellPhoneNos"
        };
        $.getJSON("controllers/Customer.controller.php", param, function(result) {
            alert('here'); //doesn't alert
            //  cellPhoneSource=result;
        });
    },
    select: function(event, ui) {
        alert('response');
    }

});

EDIT

Я пытаюсь получить источник с помощью GET, я делаю так

source:function(request,response){
            var param= {"action":"getCellPhoneNos"};
            $.ajax({
            type: "GET",
            url: "controllers/Customer.controller.php",
            data: param,
            success: function(result){
            alert('success');
            }

            });
            },

он предупреждает, но автозаполнение не работает, я пытаюсь поместить значения в текстовый файл и сделать файл в URL, автозаполнение работает !!

Любое объяснение?!

Ответы [ 2 ]

1 голос
/ 13 августа 2011

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui-autocomplete-widget/

Это руководство по использованию плагина автозаполнения. Переменная response в вашем обратном вызове - это функция, которую вы можете вызвать, чтобы добавить массив элементов в список автозаполнения. Проанализируйте result и поместите каждый элемент в массив, затем вызовите response(array); Если результат уже является массивом, вы можете вызвать response(result);

0 голосов
/ 13 августа 2011

Я заметил, что в функции успеха вы не возвращаете результат запроса ajax, это может быть проблемой?

source : function(request,response) {
     var param= {"action":"getCellPhoneNos"};
     var source = 'nothing came back from the server';

     $.ajax({
          type: "GET",
          url: "controllers/Customer.controller.php",
          data: param,
          datatype: 'json'
          success: function(result) {

            if(result !== undefined) {
                 source = result;
            }
            alert(source);
            return source;
          }

     });
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...