10

私のウェブサイトでは、ユーザーはリンクを保存することができます。

指定されたフィールドにインターネット アドレスを入力する際に​​、Google サジェストや Chrome オムニバーに似たサジェスト/オートコンプリート ボックスを表示したいと考えています。

例:

ユーザーは 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 サーバーでこれを行いました。クライアント側とサーバー側の 2 つの部分があります。

クライアント側では、ユーザーが入力しているときに XmlHttpRequests をサーバーに送信し、情報が戻ってきたらそれを表示する必要があります。この部分には、コールバックやキープレス ハンドラーなどのトリッキーな部分を含め、かなりの量の JavaScript が必要になります。

サーバー側では、ユーザーがこれまでに入力した内容を含む XmlHttpRequests を処理する必要があります。のURLのように

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

そして、何らかの方法でエンコードされた提案で応答します。(提案を JSON エンコードすることをお勧めします。)また、実際にデータベースから提案を取得する必要があります。これは、フレームワークに応じて、単純な SQL 呼び出しまたはその他のものである可能性があります。

しかし、サーバー側の部分は非常に単純です。クライアント側の部分はもっとトリッキーだと思います。この記事は役に立ちました

彼は php で書いていますが、クライアント側の作業はほとんど同じです。特に、彼の CSS が役に立つかもしれません。

于 2008-11-01T20:59:34.003 に答える
0

オートコンプリートで独自のデータベースの日付を使用する場合は、自分で検索を行い、ユーザー タイプとして AJAX を使用して提案を更新する必要があります。検索部分については、Luceneを参照してください。

于 2008-11-01T19:00:16.523 に答える