[jQuery]JavaScriptの配列をtableへ1行追加する



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

関連記事

コメントを残す

メールアドレスが公開されることはありません。