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 回答