我有这个书面功能:
$(".tdAdd").on("click", function () {
counter = $('#myTable tr').length - 3; //supposing i only have 2 data
var count = $("#myTable").length;
var newRow = $("<tr>");
var cols = "";
cols += '<td><input type="button" value="Add" class="tdAdd"/></td>';
cols += '<td><input type="text" name="name' + counter + '"/></td>';
cols += '<td><input type="text" name="price' + counter + '"/></td>';
cols += '<td><input type="button" class="ibtnDel" value="Delete"></td>';
newRow.append(cols);
$("table.order-list").append(newRow); // this is adding row to the end. but i want i on a specific row after where the add button was clicked
counter++;
});
$("table.order-list").on("click", ".ibtnDel", function (event) {
$(this).closest("tr").remove();
});
});
我的桌子是这样的:
<table id="myTable" class="order-list">
<thead>
<tr>
<td></td>
<td></td>
<td>Name</td>
<td>Price</td>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">
<input type="button" id="addrow" value="Add Row" />
<td>
<input type="text" name="name" />
</td>
<td>
<input type="text" name="price1" />
</td>
<td>
<input type="button" value="Delete" class="ibtnDel"/>
</td>
</tr>
</tbody>
</table>
以下是Fiddle
示例我想在下面添加另一行,点击“添加行”按钮。小提琴只会在桌子的底部添加一行,只有第一个按钮才有效。任何帮助,将不胜感激。谢谢!
我试过了:
$("table.order-list").eq(count-1).after(newRow)
但我仍然无法使代码生效
答案 0 :(得分:1)
您需要将事件侦听器应用于文档,因为该按钮是动态创建的。 EG:
$(document).on("click", '.tdAdd', function () { ... }
请参阅更新的小提琴: