
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の第一引数に対象テーブル、第二引数に追加したいデータを指定するだけです。
関連記事
コメントを残す