克隆行并删除元素然后重新添加

时间:2014-12-29 14:49:48

标签: jquery

我正在尝试克隆一个有效的表行,然后将其添加到新行。

我遇到的问题是我需要在新行中添加一些动态元素,但这应该仅适用于1行。如果动态添加新行,我希望前一行删除我动态添加的那些元素。

我尝试过使用.remove()方法但仍显示。

这就是我在做的事情:

var lastTableRow = $('#mainTable tr:last').clone();
lastTableRow.attr('id', 'row_' + rowIDNumericOnly);
$('#mainTable tr:last').after(lastTableRow);

// finally, add a button into this new row:

$('#row_' + rowID + ' td:nth-child(2)').append('<input type="button" ID="cmdGetName_' + rowID + '" value="Fetch CAS Name" onClick="GetName($(\'#Names_' + rowID + '__Number\').val(), ' + CAS+ ')" />');        

现在,当用户按下“添加行”按钮时,它会调用上面的函数/方法来执行相同的操作。此时,我想删除动态添加的按钮“cmdGetName_”,如果克隆前一行时它存在。

任何想法?

删除时,我正在执行以下操作:

 $('#cmdGetName_' + oldRowIDNumericOnly).remove();

其中oldRowIDNumericOnly获取表中添加的最后一行,并获取其ID。 rowIDNumericOnly是新ID(来自上一个表行ID并向其添加1)

1 个答案:

答案 0 :(得分:3)

为动态输入提供一个类,例如class="CmdGetName"。然后你可以这样做:

var oldLastTableRow = $("#mainTable tr:last");
oldLastTableRow.find(".CmdGetName").remove;
var lastTableRow = oldLastTableRow.clone();