0

我正在尝试使用 jquery ui 自动完成功能,当您在具有自动完成功能的输入字段中键入内容时,仍然出现以下错误:

Uncaught TypeError: Cannot read property 'PAGE_UP' of undefined

我在我的页面上包含了以下文件:

  • jquery-1.7.2.min.js
  • jquery-ui-1.8.21.custom.min.js
  • jquery-ui-1.8.21.custom.css

这是使用自动完成的代码:

$('input#searchFor').autocomplete({
        source:function(req,add){
            $.getJSON("/index.php/search/autoCompleteHandler?q=?&section="+$('input#searchFor').attr("searchDesc"),req,function(data){
                var suggestions = [];

                $.each(data,function(i,val){
                    suggestions.push(val.name);
                });

                add(suggestions);
            });
        }
    });

我不知道可能出了什么问题。任何帮助,将不胜感激。

4

1 回答 1

0

远程数据源的 jQueryUI 示例文档显示远程数据源应该像这样完成:

$(function() {
        $( "#birds" ).autocomplete({
            source: "search.php",
            minLength: 2,
            select: function( event, ui ) {
                //the code to execute when an item is clicked on
            }
        });
    });

看起来 source 只需要是一个 url。您可以查看 Chrome 中的 ajax 请求,以找出使用搜索查询填充的 $_GET 或 $_POST 变量。

根据您的使用情况,使用带有缓存选项的远程数据源可能不是一个坏主意。

于 2012-06-27T02:34:44.683 回答