10

在我的网站中,用户可以存储链接。

在指定字段中输入互联网地址期间,我想显示一个类似于 Google Suggest 或 Chrome Omnibar 的建议/自动完成框。

例子:

用户输入为 URL:

http://www.sta

将显示的建议:

http://www.staples.com
http://www.starbucks.com
http://www.stackoverflow.com

如何在不重新发明轮子的情况下实现这一目标?:)

4

5 回答 5

8

您可以尝试使用 http://google.com/complete/search?output=toolbar&q=keyword

然后解析xml结果。

于 2008-11-01T15:58:31.600 回答
2

我以前在 Django 服务器中做过一次。有两个部分 - 客户端和服务器端。

客户端您必须在用户键入时向服务器发送 XmlHttpRequests,然后当信息返回时,显示它。这部分需要大量的 javascript,包括一些棘手的部分,如回调和按键处理程序。

在服务器端,您必须处理 XmlHttpRequests,它包含用户迄今为止输入的内容。就像一个网址

www.yoursite.com/suggest?typed=www.sta

然后以某种方式编码的建议做出回应。(我建议对建议进行 JSON 编码。)您还必须实际从数据库中获取建议,这可能只是一个简单的 SQL 调用或其他取决于您的框架的东西。

但是服务器端部分非常简单。我认为客户端部分更棘手。我发现这篇文章很有帮助

他用 php 写东西,但客户端的工作几乎是一样的。特别是您可能会发现他的 CSS 很有帮助。

于 2008-11-01T20:59:34.003 回答
1

雅虎有一个很好的自动完成控制

他们在这里有一个样本。.

显然,这对您获取数据没有任何帮助 - 但看起来您有自己的来源,并且实际上并不希望从 Google 获取数据。

于 2009-03-17T21:34:59.023 回答
0

如果您希望自动完成使用您自己数据库中的日期,您需要自己进行搜索并使用 AJAX 作为用户类型更新建议。对于搜索部分,您可能想查看Lucene

于 2008-11-01T19:00:16.523 回答
0

该控件通常称为字轮。MSDN 最近有一篇关于使用LINQ. 有两个关键方面:延迟执行和惰性求值。文章也有源代码。

于 2009-03-17T22:05:48.000 回答