jQuery Автозаполнение пользовательских данных - PullRequest
0 голосов
/ 30 мая 2011

У меня есть этот код в моем скрипте:

$(function() {
        $( "#products" ).autocomplete({
            source: "<?php echo $this->baseUrl ?>/loyalty/autocomplete",
            minLength: 2,
            focus: function( event, ui ) {
                $( "#products" ).val( ui.item.label );
                return false;
            },
            select: function( event, ui ) {
                $("#sel_products").html($("#sel_products").html()+"<tr><td>"+ui.item.value+"</td><td>"+ui.item.id+"</td></tr>");
                return false;
                }
        }).data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( item.value)
                .appendTo( ul );
        };
    }); 

Результат ajax, который получает автозаполнение, выглядит примерно так:

[{label:"Label1",value:"Value1",id:"1"},{label:"Label2",value:"Value2",id:"2"}]

Проблема в том, что мой список автозаполнения не создан,Ничего не происходит, когда я начинаю печатать буквы, за исключением того, что возвращается ajax.Кстати, когда я использую обычные нестандартные данные, я получаю список .

В чем здесь проблема?

1 Ответ

1 голос
/ 16 июля 2011

если вы используете firebug и используете эту схему в качестве источника, вы можете увидеть в сети, что автозаполнение отправляет термин данные (используя метод get), поэтому вам нужно обработать этот термин в классе / loyalty / autocomplete,Что я сделал с этой проблемой, так это то, что я не обработал этот термин, а просто выбрасываю результат из класса, предоставляющего нужные данные (класс контроллера), в класс представления.Итак, в классе представления я просто называю эти данные источником.

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