尝试将 JQuery 的自动完成功能与 ajax 调用一起使用以获取结果

Trying to use JQuery's autocomplete with ajax call for results

提问人:Andrew G. Johnson 提问时间:4/1/2009 更新时间:8/25/2009 访问量:2810

问:

好吧,我有一个 50000+ 行表,所以我无法将所有行加载到每个页面中供用户使用自动完成,所以我正在尝试通过 extraParams 参数使用 ajax 调用,但不知道:

1)使结果以什么格式显示在通过ajax调用的页面上(在本例中为get-dropdown-results.xml)

2)如何将这些结果放入下拉列表中

这是我目前的消息来源:

$("input#autocomplete-field").autocomplete(
    "/ajax/get-dropdown-results.xml",{
    delay:0,
    minChars:3,
    matchContains:true,
    matchSubset:false,
    max:100,
    extraParams: {
        q: function () { return escape($("input#autocomplete-field").val()); }
    }
});

我正在运行 firebug,所以我可以看到 ajax 调用正在正确进行(/ajax/get-dropdown-results.xml?q=whatever-they-typed),但我不知道在哪里放置代码来处理返回的文本。

JavaScript jQuery 自动完成

评论

0赞 missaghi 4/1/2009
你有自动完成插件的链接吗

答:

3赞 Pavel Chuchuva 4/1/2009 #1

我假设您使用 Dylan Verheul 的 jQuery 自动完成插件。该插件将自动为您创建下拉弹出窗口。但是,它期望结果采用纯文本格式,而不是 XML。尝试返回以行尾分隔的结果:

foo\n
bar\n
baz\n