2013-12-29 JSONデータの連携 JavaScript DataTables 【前提条件】 [環境] jQuery 1.9.0 DataTables 1.9.4 参考サイト DataTables 公式ページ DataTables | Table plug-in for jQuery 【概要】 前回のエントリではDOMと配列データをもとにテーブルを作成しました。今回はAjax通信でJSONを受け取り、受け取った結果を表示します。 【HTMLソース】 まずはHTMLソースからです。HTMLやることはタグの作成です。 <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="/js/libs/jquery-1.9.0/jquery.min.js"></script> <script type="text/javascript" src="/js/libs/datatables-1.9.4/jquery.dataTables.min.js" ></script> <script type="text/javascript" src="sampleApps.js"></script> <style> table { border: 1px; white-space: nowrap; width: 50%; } table th { text-align: center; } table#value_table th { background-color: lightgreen; } </style> </head> <body> <table id="value_table"></table> </body> </html> 今回はテーブルタブだけのものを用意します。 【JSONデータ】 今回のサンプルで使用するJSONのデータは↓を使います。 { "valueList" : [ { "no" : 5, "name" : "りんご" }, { "no" : 3, "name" : "みかん" }, { "no" : 1, "name" : "なし" }, { "no" : 2, "name" : "いちご" }, { "no" : 4, "name" : "バナナ" } ] } valueListと言うプロパティを持ったJSONです。valueListの値は前回の配列データに プロパティ名を追加したものです。 【JavaScriptソース】 $(function() { $('#value_table').dataTable({ sAjaxSource : "/js/sample/jsonData.json", sAjaxDataProp : "valueList", aoColumns : [ { sTitle : "No.", mData : "no"}, { sTitle : "名称", mData : "name"} ] }); } ); sAjaxSourceにはJSONの取得元となるURLを指定します。sAjaxDataPropには取得したJSONで読み込み対象となるプロパティを指定します。 ネストしている場合はドット区切りで指定します。カラムの指定はaoColumnsで行います。 mDataに対象のカラムに表示するJSONデータを指定します。 【実行結果】 HTMLページを表示すると↓と同じような結果が表示されます。 (画像は前回の使いまわし) 【まとめ】 前回のDOM、配列に続き、 簡単な設定でJSONのデータをテーブルとして表示することができました。新しく作成する画面などはDOM、配列ではなく 今回のようなJSONでやり取りすることが多くなると思います。 « テーブルのオプション DataTables入門 » 引用をストックしました ストック一覧を見る 閉じる 引用するにはまずログインしてください ログイン 閉じる 引用をストックできませんでした。再度お試しください 閉じる 限定公開記事のため引用できません。 読者です 読者をやめる 読者になる 読者になる