2

Javascriptを使用して動的にhtmlテーブルを作成しています。これは私のhtmlテーブルです:

<table class="ui-list" cellpadding="2" id = "tbl">
                <thead>
                    <tr>
                        <th>Artikel ID</th>
                        <th>Artikelnr</th>
                        <th>Bezeichnung</th>
                        <th>Stk.</th>
                        <th><?php echo FW_HTML_Button::build('entfernen', array('onclick' => '' ,'id'=>'get_button')); ?></th>

                    </tr>
                </thead>
                <tbody>
                    <tr>
                    <td></td>
                    <td></td>
                    <td>Gesamt:</td>
                    <td></td>
                    <td>Action:</td>
                    </tr>
                <!-- Fill with JS -->
                </tbody>
            </table>

そして、これは私がそれを行で埋める方法です:

         function addRow(tableID) {

                var table = document.getElementById(tableID);

                var rowCount = table.rows.length;
                var row = table.insertRow(rowCount);

                var cell1 = row.insertCell(0);
                var element1 = obj[16][count]["id"]["article_id"];
                cell1.innerHTML = element1;

                var cell2 = row.insertCell(1);
                var element2 = obj[16][count]["id"]["article_no_internal"];
                cell2.innerHTML = element2;

                var cell3 = row.insertCell(2);
                var element3 = obj[16][count]["id"]["article_name_internal"];
                cell3.innerHTML = element3;

                var cell4 = row.insertCell(3);
                cell4.innerHTML = obj[16][count]["stk"];;

                var cell5 = row.insertCell(4);
                var element4 = document.createElement("input");
                element4.type = "checkbox";
                cell5.appendChild(element4);

            }

それは問題なく動作します。私の唯一の問題は、html部分にすでに行があり、htmlで作成した行の前に新しい行を配置したいということです。今のところ、「gesamt」と「action」が書かれている行の後に常に新しい行を配置します。これを変えることは可能ですか?

4

2 に答える 2

2

使用する

var row = table.insertRow(rowCount - 1);

それ以外の

var row = table.insertRow(rowCount);

(もちろん、テーブルに常にそのフッター行があることが保証されていると仮定します)。

参照: http://jsfiddle.net/hwSfG/

于 2012-08-30T09:21:38.047 に答える
1

JQuery .prepend() 関数を使用できます。親要素の先頭に要素を挿入します: http://api.jquery.com/prepend/

于 2012-08-30T09:18:06.937 に答える