jquery-ui autocomplete:通过回调函数设置源不起作用

Arr*_*und 7 jquery jquery-ui autocomplete

链接到小提琴:http://jsfiddle.net/nEapJ/(工作)

var items = [{
   label : 'a',
   value : 'a',
},{
   label : 'b',
   value : 'b',
},{
   label : 'c',
   value : 'c',
}];

$('input').autocomplete({
    source : items
});?
Run Code Online (Sandbox Code Playgroud)

这段代码有效,但是当我想通过回调函数设置源代码时,它无法正常工作

链接到小提琴:http://jsfiddle.net/B3RWj/(不工作)

$('input').autocomplete({
    source : function(request, response){
            response(items);
          }
});?
Run Code Online (Sandbox Code Playgroud)

当我输入'a'然后它给a,b,c作为结果.

那么,我错过了什么?

提前致谢.

Mic*_*uda 2

在回调函数中,由您来进行过滤。

文档摘录:

第三种变体,即回调,提供了最大的灵活性,可用于将任何数据源连接到自动完成。回调有两个参数:

一个请求对象,具有一个名为“term”的属性,它指的是当前文本输入中的值。例如,当用户在城市字段中输入“new yo”时,自动完成术语将等于“new yo”。响应回调,它期望一个参数包含向用户建议的数据。应根据提供的 term 过滤此数据,并且可以采用上述简单本地数据的任何格式(具有标签/值/两个属性的字符串数组或对象数组)。提供自定义源回调来处理请求期间的错误非常重要。即使遇到错误,您也必须始终调用响应回调。这确保了小部件始终具有正确的状态。

  • 我认为,jquery-ui 自动完成功能通过与给定源中的标签键匹配来按类型字符自动过滤。 (2认同)