JavaScript:
$('.addTable').live('click', function () {
var appendTxt = "<table id='tab1'>
<tr><td><input type='text' name='input1' /></td><td><input type='text' name='input2' /></td>
<td><input type='button' class='addRow' value='Add Row' /></td></tr></table>";
$("table:last").after(appendTxt);
});
$('.addRow').live('click', function () {
var appendTxt = "<td><input type='text'name='input1' /></td><td><input
type='text'name='input2' /></td><td><input type='button' class='addRow' value='Add Row'/></td> ";
$("tr:last").after(appendTxt);
});
HTML:
<table id="tab">
<tr>
<td>
<input type="text" name="input1" />
</td>
<td>
<input type="text" name="input2" />
</td>
<td>
<input type="button" class="addRow" value="Add Row" />
</td>
</tr>
</table>
<input type="button" class="addTable" value="addTable" />
当我点击“添加行”按钮时,我会动态地得到一个新行。当我点击“添加表格”按钮时,我得到了一个新的表格。
但在此之后,当我在新表和旧表中都点击"add row“时,我在最后添加的表中添加了一行,因为我放入了$("tr:last").after(appendTxt)
,所以它会附加到最新表中存在的最新<tr>
中。
有没有更好的方法来做到这一点,这样当我点击"new table“时,我可以在各自的表中添加一行?
发布于 2012-06-27 18:48:52
在你上面的评论之后。
更改:
$("tr:last").after(appendTxt);
至:
$(this).closest('table').find('tr:last').after(appendTxt);
我假设您的Add row按钮存在于您添加新行的每个表中。
https://stackoverflow.com/questions/11232902
复制相似问题