我正在尝试克隆一个有效的表行,然后将其添加到新行。
我遇到的问题是我需要在新行中添加一些动态元素,但这应该仅适用于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)
答案 0 :(得分:3)
为动态输入提供一个类,例如class="CmdGetName"
。然后你可以这样做:
var oldLastTableRow = $("#mainTable tr:last");
oldLastTableRow.find(".CmdGetName").remove;
var lastTableRow = oldLastTableRow.clone();