gpt4 book ai didi

jQuery 克隆表行

转载 作者:行者123 更新时间:2023-12-03 21:27:43 25 4
gpt4 key购买 nike

我有一个表,末尾有一个“添加”按钮。当您单击此按钮时,我希望在当前行下方创建一个新的表行。我还希望该行的输入字段为空。我尝试使用 .clone() 来执行此操作,但它会克隆页面上的所有行。请帮忙。谢谢

脚本

$("input.tr_clone_add")
.live('click', function(){
$(this).closest('.tr_clone')
.clone()
.insertAfter(".tr_clone")
});

HTML

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="table-data">
<tr>
<td>Name</td>
<td>Location</td>
<td>From</td>
<td>To</td>
<td>Add</td>
</tr>
<tr class="tr_clone">
<td><input type="text" autofocus placeholder="who" name="who" ></td>
<td><input type="text" autofocus placeholder="location" name="location" ></td>
<td><input type="text" placeholder="Start Date" name="datepicker_start" class="datepicker"></td>
<td><input type="text" placeholder="End Date" name="datepicker_end" class="datepicker"></td>
<td><input type="button" name="add" value="Add" class="tr_clone_add"></td>
</tr>
</table><!-- /table#table-data -->

最佳答案

你的问题是你的 insertAfter :

.insertAfter(".tr_clone")

在每个 .tr_clone 之后插入:

the matched set of elements will be inserted after the element(s) specified by this parameter.

您可能只想使用 after在您要复制的行上。一点 .find(':text').val('') 将清除克隆的文本输入;像这样的东西:

var $tr    = $(this).closest('.tr_clone');
var $clone = $tr.clone();
$clone.find(':text').val('');
$tr.after($clone);

演示:http://jsfiddle.net/ambiguous/LAECx/或者对于现代 jQuery: http://jsfiddle.net/ambiguous/LAECx/3274/

我不确定哪个输入应该最终成为焦点,所以我没有管它。

关于jQuery 克隆表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7961900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com