JavaScript上の配列を、指定したtableタグ内へ1行追加する方法です。
よく行う処理なので関数化しました。
例えば以下のようなtableがあって…
<input type="button" id="btnTest" value="データを追加" /> <table id="tblResult"border="1px" style="border:1px"> <tr> <th style="width:140px;">伝票No</th> <th style="width:180px;">配送種別</th> <th style="width:80px;">状態</th> <th style="width:110px;">時刻</th> <th style="width:260px;">センター名</th> </tr> </table> |
このようなデータを追加したい場合の処理を説明します。
var rowData = new Array(); rowData[0] = "123456789012"; rowData[1] = "クロネコメール便"; rowData[2] = "投函完了"; rowData[3] = "12/24 23:49"; rowData[4] = "001012:東京中央センター"; |
tableに行を追加する関数
以下のaddRow()関数で、テーブルへ行を追加できます。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script> //********************************************************************* // テーブルへ行の追加を行う // eleTable : 行を追加する対象テーブル // rowData : 追加するデータ(配列) //********************************************************************* addRow = function( eleTable, rowData ) { //------------------------------------- // 指定された行情報をマークアップする //------------------------------------- outStr = "<tr>"; for ( var loopCol = 0; loopCol < rowData.length; loopCol++ ) { outStr += "<td>" + rowData[loopCol] + "</td>"; } outStr += "</tr>"; //----------------------- // 最後の行に追加 //----------------------- eleTable.append( outStr ) eleTable.find( "tr:last" ).hide().fadeIn(); } </script> |
呼び元側の処理サンプル
呼び元側は、以下のような感じでコールします。
$(document).ready(function(){ $( "#btnTest" ).click(function () { var rowData = new Array(); rowData[0] = "123456789012"; rowData[1] = "クロネコメール便"; rowData[2] = "投函完了"; rowData[3] = "12/24 23:49"; rowData[4] = "001012:東京中央センター"; // テーブルに行を追加 addRow( $('#tblResult'), rowData ); }); }); |
例では、ボタンクリックのイベントハンドラで、行を追加しています。
使い方は簡単で、あらかじめhtml側で追加対象のテーブルにidを指定します。
その上でaddRowの第一引数に対象テーブル、第二引数に追加したいデータを指定するだけです。
関連記事
コメントを残す