jQuery自动完成自定义数据

问题描述

| 我的脚本中包含以下代码
$(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之外,什么都没有发生。顺便说一句,当我使用常规的非定制数据时,我得到了列表。 这可能是什么问题?     

解决方法

        如果您正在使用Firebug并将该架构用作源,则可以在网上看到自动填充功能(使用get方法)发送术语数据,因此您必须在/ loyalty / autocomplete类中处理该术语。我对该问题所做的事情是,我没有处理该术语,但是我只是将提供所需数据的类(控制器类)的结果扔给了视图类。因此,在视图类中,我只是将该数据称为源。