jQuery UI自动完成不过滤数据

时间:2012-01-12 22:46:28

标签: jquery json filtering jquery-ui-autocomplete

所以我搜索但找不到答案。这可能是微不足道的,但我无法看到是什么导致了这一点。

我正在使用jQuery UI Autocomplete,它显示了json结果。所以我知道我的JSON是有效的。但是,它没有过滤任何东西。所以我可以输入一个数字,它只显示所有数据。非常感谢任何提示!

我感谢你的时间!!

这是我的自动填充代码。

    $.widget('custom.catcomplete', $.ui.autocomplete, {
    _renderMenu: function(ul, items) {
        var self = this,
            currentCategory = '';
        $.each(items, function(index, item) {
            if (item.category != currentCategory) {
                ul.append('<li class="ui-autocomplete-category">' + item.category + '</li>');
                currentCategory = item.category;
            }
            self._renderItem(ul, item);
        });
    }
   });


   $('#category').catcomplete({
    source: function(request, response) {
        $.ajax({
            url: '/wp-content/plugins/pagelines-sections/searchbar/products.json',
            dataType: 'json',
            data: {
                term: request.term
            },
            cache: true,
            success: function(data) {
                response($.map(data.products, function(item) {
                    return {
                        category: item.category,
                        label: item.label,
                        value: item.value
                    };
                }));
            }
        });
       },
       minLength: 1
   });

2 个答案:

答案 0 :(得分:2)

必须根据“Term”参数在服务器端执行过滤。检查服务器使用Firebug或Chrome开发人员工具返回的数据(F12),并确保它取决于“term”参数。

答案 1 :(得分:0)

在本文中完成了关于JQuery UI自动完成组件dude的解释:)

Jquery UI AutoComplete