1

テーブルを生成するコードがあります。コードの下に表示されます。

function createDynamicTable(tbody, rows, cols) {
         if (tbody == null || tbody.length < 1) return;
         for (var r = 1; r <= rows; r++) {
             var trow = $("<tr>");
             for (var c = 1; c <= cols; c++) {
                 var cellText = "Cell " + r + "." + c
                 $("<td>")
                         .addClass("tableCell")
                         .text(cellText)
                         .data("col", c)
                         .appendTo(trow);
             }
             trow.appendTo(tbody);
         }
     }      

結果は次のとおりです。

<table id="tbl" border="1">
<tbody>
<tr>
<td class="tableCell">Cell 1.1</td>
<td class="tableCell">Cell 1.2</td>
<td class="tableCell">Cell 1.3</td>
<td class="tableCell">Cell 1.4</td>
</tr>
</tbody>
</table>

それぞれ追加したい<td></td>=> <td><input><input/></td>Tagas. どうすればそれができますか?

4

3 に答える 3

2

関数を少し変更すると、input各セルにフィールドが追加されます。

function createDynamicTable(tbody, rows, cols) {
    if (tbody == null || tbody.length < 1) return;
    for (var r = 1; r <= rows; r++) {
        var trow = $("<tr>");
        for (var c = 1; c <= cols; c++) {
            var input = $("<input />");
            $("<td>").addClass("tableCell")
                .append(input)
                .data("col", c)
                .appendTo(trow);
        }
        trow.appendTo(tbody);
    }
}

デモ:http: //jsfiddle.net/Xt33h/

于 2012-05-31T11:44:57.023 に答える
1

あなたがすることができます:

$('#tbl td:last').after('<td><input><input/></td>');
于 2012-05-31T11:44:28.593 に答える
0

for(セルを生成する場所)を次のように変更します

for (var c = 1; c <= cols; c++) {
    var cellText = "Cell " + r + "." + c
    var td = $("<td>")
        .addClass("tableCell")
        .text(cellText)
        .data("col", c)
        .appendTo(trow);

    $('<input />').appendTo(td);
}
于 2012-05-31T11:47:44.907 に答える