jQuery:同时从多个表中删除行

时间:2014-03-24 19:15:04

标签: javascript jquery

我使用动态生成的行进行表单预览,并且我试图同时删除两个不同表中的行。我们说如果删除第二行(#2)" AddFieldsToFormDiv"我希望第二行(#2)在" AddFieldsToPreviewDiv"同时删除。你有可行的解决方案吗?

Here's the js fiddle

我试图使用:

$("#AddFieldsToFormDiv, #AddFieldsToPreviewDiv")
    .on("click", "#DeleteRowButton", function (event) 
    {
        $(this).closest("tr").remove();
        counter--;
    });

但没有我想要的结果。

1 个答案:

答案 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();
}