首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Dojo实现实时搜索/搜索建议?

如何使用Dojo实现实时搜索/搜索建议?
EN

Stack Overflow用户
提问于 2010-09-06 00:00:52
回答 1查看 2.5K关注 0票数 22

我希望在使用Dojo的web应用程序中实现“实时搜索”或“搜索建议”功能。这将与Google和Bing搜索显示匹配的方式类似:当您键入搜索框时,可能的匹配列表如下所示。搜索将在服务器端执行,结果将使用AJAX发送回浏览器。

有谁知道用Dojo实现这个的好方法吗?

以下是一些潜在的选择:

  • The内置小部件dijit.form.ComboBox

这具有非常类似的功能,但我只看到它与有限的数据集一起使用。这些示例总是使用小列表(例如美国的50个州),并预加载整个数据集以进行客户端过滤。不过,我想我可以把它连接到dojox.data.JsonQueryRestStore上进行服务器端搜索--有人能确认一下那个dojox.data.JsonQueryRestStore 吗?

这个实现主要是做这个工作,但是它有一些小错误,看起来不像是要维护的。在使用it.

  • Medryx 之前,我必须对代码做一些修正。

这看起来也是它的工作,但是它被描述为‘alpha级’代码,到代码的链接似乎被破坏了……。

我可能会做上述工作之一,但我想知道是否有更好的选择在那里。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-08 22:15:03

五年前,当Dojo在0.2岁的时候,我实现了它:

虽然代码是古老的,但它是微不足道的,希望它能为您提供如何攻击它的想法。粗略的草图:

  • 将事件处理程序附加到输入框,输入框在更改时会触发--使用"onkeyup“检测输入框中的更改。
  • 等待,直到用户通过在事件处理程序中设置计时器而停止键入时(如果尚未设置)。200到500毫秒是很好的等待时间。超时起着双重作用:它控制我们对服务器的请求,以防止overloading.
  • It影响我们对时间的感知和输入habits.

  • ,如果超时时间到了,而不是等待服务器⇒发送到目前为止的字符串,
  • ,如果我们还在等待服务器,请取消请求并再次询问。这个部分是特定于应用程序的:我们不想让服务器过载,有时服务器不能很好地处理中断的连接。

  • 服务器响应相关结果,并迅速显示。

在博客文章中,我将其实现为一个小部件。显然,确切的包装由你决定。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3649871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文