SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

jQuery UI/プラグインの活用

jQuery UIのウィジェットを使ってみよう

jQuery UI/プラグインの活用(2)

ダウンロード Sample.zip (115.1 KB)

AutoComplete

 AutoCompleteは、テキストボックスに検索キーワードを入力すると、関連キーワードを下に表示できるウィジェットです。Google検索などで、単語を入力すると下に候補一覧が表示されるイメージです。Autocompleteウィジェットは、jQuery UI 1.8で追加されました。jQuery UIでこの機能を使用するには、一覧表示させたい単語をサーバアクセスによるJSON形式で受け取るか、JavaScriptの配列を準備しておきます。ここでは、配列を用いた例を取り上げます。

 リスト3にjQueryUI_AutoCompleteの使用例を、図4に実行結果を示します。

リスト3 jQueryUI_AutoCompleteの使用例(jQueryUI_AutoComplete.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" >
<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
		<title>オートコンプリートサンプル</title>

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"></script>
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.2.custom.css" rel="stylesheet" />
<script type="text/javascript">
    $(function () {
        var Tags = ["aomori-ken", "akita-ken", "iwate-ken", "miyagi-ken", "yamagata-ken", "hukusima-ken"];
        $("#tags").autocomplete({
            source: Tags
        });
    });                 
</script>
</head>
<body>
<label for="tags">東北六県: </label>
<input id="tags"/>
</body>
</html>
図4 jQueryUI_AutoCompleteの実行結果
図4 jQueryUI_AutoCompleteの実行結果

 リスト3では、東北六県が候補一覧に表示されるように設定しています。例えば、テキストボックスに「a」と入力すると、用意した配列の中で「a」が入っている単語(ここでは、aomori-ken、akita-ken、iwate-ken、miyagi-ken、yamagata-ken、hukusima-ken)が表示されています。autocompleteメソッドを使用し、表示させたい配列をsourceで指定します。

 表4にautocompleteのオプションを示します。

表4 autocompleteのオプション
オプション 説明
disabled ウィジェットを無効にする(true/false)
delay キーワード入力後からリスト表示が開始されるまでの時間を指定する(1秒間を1000で表示)
minLength リスト表示に必要な文字数を指定する(正の整数)
source リスト表示する文字列、配列、関数のいずれかを指定する(必須)

 サーバアクセスによるJSON形式で受け取りたい場合は、サーバ側でJSON形式でJavaScript配列を返すプログラム(ここでは例えばjson.php)を作成し、リスト4のように指定します。$.getJSON()メソッドでは、第1引数で読み込むページのURLの指定し、第2引数でキーと値の組み合わせを、第3引数で通信成功時のコールバック関数を指定します。

 JSON形式を利用する場合は、専用の$.getJSON()メソッドを使用可能で、$.ajax()を利用するよりも簡単に取り扱うことができます。また、データによっては、変数で指定したデータをHTMLのScriptタグで読み込んで利用することも可能です。

リスト4 JSON形式で受け取る場合
$("#tags").autocomplete({
        source: function(request, response) {
            $.getJSON("json.php", {
                term: extractLast(request.term)
            }, response);
        }

次のページ
ProgressBar

この記事は参考になりましたか?

jQuery UI/プラグインの活用連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト asa(asa)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5431 2010/09/28 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー