2009/09/29
カテゴリ : Tech
JavaScript
jQuery
jQuery用プラグイン「Autocomplete」を使って入力補完機能を実装してみる
こんにちは、中川です。

アシアルブログの検索でも利用している、suggest(入力補完)機能、便利ですよね。
以前「jQuery用プラグイン「jquery.suggest」を使って入力補完機能を実装してみる」という記事で松田がライブラリ紹介しています。
しかし、「jquery.suggest」ですが、表示が味気なかったり、カスタマイズ面で、若干モノ足りない部分が出てきました。。。
で、補完機能を実装する為のJavaScriptですが、いろいろ探せば結構たくさんでてきまして、その中でも使いやすく、機能も豊富でカスタマイズもしやすいjQueryプラグインの「Autocomplete」というものを見つけましたので紹介したいと思います。
■ダウンロード先
http://plugins.jquery.com/project/autocompletex
■デモ
※適当にアルファベットを2文字くらい入力してください。
■ソース
・sample.html
・search.php (プラグインのデモに含まれています)
たったこれだけですね。
単純にAjaxでサーバ側に補完リストを問い合わせる実装の場合、JS側のコードはinputのID(もしくはクラスなどの対象のCSSセレクタ)を指定してあげて、
このautocompleteプラグインですが、動作も軽快ですし、数が多い時はちゃんとスクロール表示にしてくれたりとデフォルトのまま使用しても中々きれいだと思います。CSSの指定もオプションで変更できたりするので、表示も簡単に変更できます。
また、コールバック関数を指定できますので、JS側で補完候補を受け取ってから処理のカスタマイズを行えます。
オプションや、利用等については、Plugins/Autocomplete - jQuery JavaScript Libraryのページに詳しく載っています。
また、プラグインをダウンロード解凍した中に、多くのデモも含まれているので参考になると思います。
※デモはjQuery Autocomplete Plugin Demoでも確認できます。
ではでは、是非試してみてください。
アシアルブログの検索でも利用している、suggest(入力補完)機能、便利ですよね。
以前「jQuery用プラグイン「jquery.suggest」を使って入力補完機能を実装してみる」という記事で松田がライブラリ紹介しています。
しかし、「jquery.suggest」ですが、表示が味気なかったり、カスタマイズ面で、若干モノ足りない部分が出てきました。。。
で、補完機能を実装する為のJavaScriptですが、いろいろ探せば結構たくさんでてきまして、その中でも使いやすく、機能も豊富でカスタマイズもしやすいjQueryプラグインの「Autocomplete」というものを見つけましたので紹介したいと思います。
■ダウンロード先
http://plugins.jquery.com/project/autocompletex
■デモ
※適当にアルファベットを2文字くらい入力してください。
■ソース
・sample.html
- <!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> - <head>
- <meta
http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>Jquery
AUTOCOMPLETE</title> - <link
rel="stylesheet" type="text/css" href="css/jquery.autocomplete.css" /> - <script
type="text/javascript" src="js/jquery.js"></script> - <script
type="text/javascript" src="js/jquery.autocomplete.js"></script> - <script
type="text/javascript"> - $(function()
{ $('#hoge').autocomplete('/search.php'); - });
- </script>
- </head>
- <body>
- <input
type="text" size="50" name="hoge" id="hoge" /> - </body>
- </html>
・search.php (プラグインのデモに含まれています)
- $q
= strtolower($_GET["q"]); - if
(!$q) return; - $items
= array( - "Great
<em>Bittern</em>"=>"Botaurus stellaris", - "Little
<em>Grebe</em>"=>"Tachybaptus ruficollis", - "Black-necked
Grebe"=>"Podiceps nigricollis", - ・
- ・
- 省略
- ・
- ・
- "Green
Heron"=>"Butorides virescens", - "Solitary
Sandpiper"=>"Tringa solitaria", - "Heuglin's
Gull"=>"Larus heuglini" - );
- foreach
($items as $key=>$value) { if (strpos(strtolower($key), $q) !== false) { echo "$key|$value\n"; } - }
たったこれだけですね。
単純にAjaxでサーバ側に補完リストを問い合わせる実装の場合、JS側のコードはinputのID(もしくはクラスなどの対象のCSSセレクタ)を指定してあげて、
- $('#hoge').autocomplete('/search.php');
このautocompleteプラグインですが、動作も軽快ですし、数が多い時はちゃんとスクロール表示にしてくれたりとデフォルトのまま使用しても中々きれいだと思います。CSSの指定もオプションで変更できたりするので、表示も簡単に変更できます。
また、コールバック関数を指定できますので、JS側で補完候補を受け取ってから処理のカスタマイズを行えます。
オプションや、利用等については、Plugins/Autocomplete - jQuery JavaScript Libraryのページに詳しく載っています。
また、プラグインをダウンロード解凍した中に、多くのデモも含まれているので参考になると思います。
※デモはjQuery Autocomplete Plugin Demoでも確認できます。
ではでは、是非試してみてください。
コメント
コメントフォーム
トラックバックURI
最近の記事
システム開発エンジニア募集! [2012年02月03日 : 小林有佳]
OpenVPNで細々便利な設定 [2012年01月31日 : 門脇優児]
【iOS】Viewの開発・デバッグに役立つ色々 [2012年01月23日 : 中川善樹]
PHPDocumentorの利用方法まとめ [2012年01月19日 : 笹亀弘]
Google Chart Toolsを使ってサイトマップを描こう! [2011年12月21日 : 志田仁美]
stumpwm設定v2 [2011年12月19日 : 門脇優児]
Mashup Awards 7の授賞式が行われました [2011年12月16日 : 中川善樹]
社員旅行に行きました [2011年12月12日 : 大橋寛子]
iCloud風のアイコンを作成する(Fireworks) [2011年12月07日 : 和田記光]
iScroll4でネイティブに近いスマホ向けHTMLページを作成する [2011年12月02日 : 松田惇]













大変参考になりました。m(_ _)m