我想在使用Dojo框架的Web应用程序中实现“实时搜索”或“搜索建议”功能。这类似于谷歌和必应搜索在键入时显示匹配项的方式:当您在搜索框中键入时,下面会显示潜在匹配项的列表。搜索将在服务器端执行,结果将使用Ajax发送回浏览器。
有人知道使用Dojo实现这个的好方法吗?
以下是一些可能的选择:
内置小部件dijit.form.comboBox 这有非常相似的功能,但我只看到它用于有限的数据集。示例总是使用小列表(例如美国的50个州)并预加载整个数据集以进行客户端筛选。不过,我想我可以把它连接到服务器端搜索的dojox.data.jsonqueryreststore上,有人能确认这是否有效吗?
查询框 http://marumushi.com/code/querybox/ 这个实现主要完成这项工作,但是它有一些小的错误,看起来不像是在维护它。在使用代码之前,我必须对它做一些修正。
梅德里克斯 http://blog.medryx.org/2008/09/10/dijitsearch-part-2/ 这看起来也能完成任务,但是它被描述为“alpha级”代码,并且到代码的链接似乎被破坏了…
我可以做上面的工作之一,但我想知道是否有更好的选择。
5年前,当Dojo处于0.2时,我实现了它:
虽然代码是古老的,但它是琐碎的,希望它能给你关于如何攻击它的想法。草图:
在博客文章中,我把它作为一个小部件实现。显然,确切的包装是由你决定的。