使用少量来源自动完成(异步查询)

时间:2011-04-20 14:33:42

标签: jquery ajax facebook autocomplete

我正在尝试使用基于少数来源的自动完成功能。例如。在facebook图表和我自己的数据库中搜索。 很明显,Facebook搜索并不像我的数据库那么快。这就是为什么我想为每个场景启动几个ajax请求(每个源=>单独的控制器)。

请求“成功”事件后,我想立即添加结果自动填充字段,而无需输入新信件等其他操作。

P.S。 JQuery UI自动完成帮助不是很多。 因为:

  1. 为搜索结果添加图片 - 是一个插件。
  2. 可以设置一些 搜索结果数组并添加到 自动填充搜索结果,但是 打字后我会看到新的结果 新信。
  3. P.P.S 作为搜索结果,我需要图像,名称,2-3个附加参数。

    提前谢谢!

2 个答案:

答案 0 :(得分:0)

jQueryUI的自动完成小部件可以使用 1 2

  1. 您可以通过重新定义_renderItem方法来自定义窗口小部件中项目的显示,例如this example

    $("#autocomplete").autocomplete({...})
        .data("autocomplete")._renderItem = function( ul, item ) {
            return $("<li></li>")
                .data( "item.autocomplete", item )
                .append("<a>" + item.label + "<br>" + item.desc + "</a>")
                .appendTo(ul);
        };
    
  2. 您可以使用autocomplete的api触发自动填充的search方法:

    $("#autocomplete").autocomplete("search", "foo");
    
  3. 希望有所帮助!自动完成功能是一个非常强大的小部件,如果您遇到更多问题,StackOverflow上有很多问题应该可以提供帮助。

答案 1 :(得分:0)

在你走得太远之前在Facebook上运行一些测试搜索。如果您在Facebook本身使用自动完成框,则图表api的搜索不会返回您获得的结果。它针对搜索查询所在的搜索进行了调整。我创建了一个自动完成功能,如您所述,结果不值得。

如果他们能够自动填充,我会喜欢它。