我有这个书面函数:
$(".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 是这样的:
<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
我想在单击“添加行”按钮的位置下方添加另一行。 fiddle 只会在表格底部添加行,并且只有第一个按钮可以工作。任何帮助,将不胜感激。谢谢!
我尝试过:
$("table.order-list").eq(count-1).after(newRow)
但我仍然无法让代码工作
最佳答案
您需要将事件监听器应用于文档,因为该按钮是动态创建的。例如:
$(document).on("click", '.tdAdd', function () { ... }
查看更新的 fiddle :
关于javascript - 在单击添加功能后添加另一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24216189/