我使用动态生成的行进行表单预览,并且我试图同时删除两个不同表中的行。我们说如果删除第二行(#2)" AddFieldsToFormDiv"我希望第二行(#2)在" AddFieldsToPreviewDiv"同时删除。你有可行的解决方案吗?
我试图使用:
$("#AddFieldsToFormDiv, #AddFieldsToPreviewDiv")
.on("click", "#DeleteRowButton", function (event)
{
$(this).closest("tr").remove();
counter--;
});
但没有我想要的结果。
答案 0 :(得分:1)
这个仅适用于AddFieldsToFormDiv表的主要原因是因为您只对AddFieldsToFormDiv做任何工作。这里的这个函数是使用#DeleteRowButton元素将click元素绑定到两个表。这里的问题是AddFieldsToFormDiv是唯一包含这些#DeleteRowButton元素的表,因此将click绑定到另一个表是完全没有意义的。一旦我们清理完了,你仍然需要在两个表上执行删除。我修改了你的功能,让它起作用。
$("#AddFieldsToFormDiv").on("click", "#DeleteRowButton",function (event) {
var rowIdx = $(this).closest("tr").index();
removeRowFromTable($("#AddFieldsToPreviewDiv"), rowIdx);
removeRowFromTable($("#AddFieldsToFormDiv"), rowIdx);
counter--;
});
function removeRowFromTable( table, rowIdx){
table.find("tr").eq(rowIdx).remove();
}