[英]Jquery table Append
我需要帮助以了解我在做什么错。 我在循环中有下表:
<table width="100%" class="box-table-green" align="left" id="tableAppend" >
<thead>
<tr>
<th align="left"><?php echo $table_name; ?></th>
<th align="Right"> <a href="javascript:void(0);" id="addCF" >Add Row</a> </th>
</tr>
</thead>
</table>
通过单击“添加行”,它将在以下Javascript代码的帮助下在相应的表中生成一行:
$('.box-table-green a').click(function (evt) {
evt.preventDefault();
var rowHtml = '<tr align="center"><td><input type="text" name="vsname[]" value="" /></td><td><input type="text" name="foreRengoring[]" id="foreRengoring" class="fieldWidthBefore80" /><img src="images/cancel_icon.png" style="float:right" width="24" height="24" class="deleteRowNew" /></td></tr>';
$(this).parents('.box-table-green').append(rowHtml);
return false;
});
如果我只留下上面的Jquery代码,那么它将仅追加一行。 但是当我添加下面的删除代码时,它会追加两行,我不知道为什么。
$("#tableAppend").on('click', ".deleteRowNew", function () {
$(this).closest('tr').remove();
});
我尝试使用类名进行尝试,并直接单击图像。 如果直接使用$("img").click
,则仅删除预加载到该页面中的行。 并且不适用于使用上述“附加行”代码动态创建的行。
需要帮助,因为我花了很多时间在这件事上,而且我无法弄清楚我在做什么错。
更新的小提琴: http : //jsfiddle.net/lotusgodkk/GCu2D/12/
您在html和js中遇到了一些问题。 在HTML中,您错过了<tr>
标记。 在js中,您要追加具有相同ID输入的html。 切勿在元素上使用相同的ID。 所以我从输入中删除了ID属性。 并且代码按预期工作。
$(document).ready(function () {
$('.box-table-green a').click(function (evt) {
evt.preventDefault();
var rowHtml = '<tr align="center"><td><input type="text" name="vsname[]" value="" /></td><td><input type="text" name="foreRengoring[]" class="fieldWidthBefore80" /><img src="images/cancel_icon.png" style="float:right" width="24" height="24" class="deleteRowNew" /></td></tr>';
$(this).parents('.box-table-green').append(rowHtml);
return false;
});
$("#tableAppend").on('click', ".deleteRowNew", function () {
$(this).closest('tr').remove();
});
});
我不知道为什么我的页面无法正常工作。 但是我用另一种方法解决了执行流程。 我猜不能在此处粘贴整个页面,并且代码(在此处提供)可以正常工作。
我不知道如何结束这个问题,请考虑结束这个问题。 因为有人对此发表评论将毫无用处。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.