サンプル3:テーブル表示&ページ遷移&列選択のサンプル
incsearch.js(IncSearch.ViewTable)を使った、テーブル表示&ページ遷移のサンプルです。
incsearch.jsの説明は、「incsearch.js - インクリメンタルサーチライブラリ」を参照ください。
下記に入力すると、一覧から部分一致で検索し、一致する列を表示します。(スペース区切りで複数入力可)
ページリンクを選択するか、またはCtrl + Left/Right でページ遷移します。
Ctrl + Up/Downで選択列を移動し、Ctrl + Returnで選択列の内容を表示します。
new IncSearch.ViewTable( 'text', // 入力が行われるエレメントのID 'view_area', // 検索結果を表示するエレメントのID list, // 検索対象のリスト {dispMax: 10, // オプション startElementText: '<table><tr><th width="20%">郵便番号</th><th width="80%">住所</th>', searchBefore: function(){ $('status').innerHTML = 'search...'; }, searchAfter: function(){ var matchCount = this.matchList.length; var displayInfo = ''; if (matchCount != 0) { var start = 1; var end = this.dispMax; if (this.dispMax == 0 || end > matchCount) { end = matchCount; } displayInfo = '(<span id="display">' + start + 'から' + end + '</span>件まで表示)'; } $('status').innerHTML = this.searchValues.length.toString() + '件中 ' + matchCount + '件ヒット ' + displayInfo; }, changePageAfter: function(pageNo){ var matchCount = this.matchList.length; var start = (pageNo - 1) * this.dispMax + 1; var end = start + this.dispMax - 1; if (end > matchCount) { end = matchCount; } $('display').innerHTML = start.toString() + 'から' + end; }, pageLink: 'page_link', pagePrevName: '前ページ', pageNextName: '次ページ', moveRow: true, selectRowCallback: function(rowData){setTimeout(function(){alert(rowData)}, 1);}, useHotkey: true } );