Jquery 复制和删除表行时出现问题
我在创建和删除动态表行时遇到一些问题 事实上,创建功能可以很好地工作,也可以用于删除,但它只适用于第一行 我做了一些研究,我认为这可能是因为当文档准备好时,复制行不在那里 这是我的代码:Jquery 复制和删除表行时出现问题,jquery,html-table,duplicates,row,Jquery,Html Table,Duplicates,Row,我在创建和删除动态表行时遇到一些问题 事实上,创建功能可以很好地工作,也可以用于删除,但它只适用于第一行 我做了一些研究,我认为这可能是因为当文档准备好时,复制行不在那里 这是我的代码: <script type="text/javascript"> $(document).ready(function(){ $('.add_row').click(function(){ var $tr = $(this).closest('.t
<script type="text/javascript">
$(document).ready(function(){
$('.add_row').click(function(){
var $tr = $(this).closest('.tr_clone');
var $clone = $tr.clone();
$clone.find(':text').val('');
$tr.after($clone); ;
});
$('.remove_row').click(function(){
var $that = $(this);
var whichtr = $(this).closest("tr");
var $table = $that.parents('table:first');
alert($that.parents('tr:first').length);
if ($('tr', $table).length > 1) {
//on supprime
whichtr.remove()
}else{
//on fait rien
alert('Vous ne pouvez pas supprimer la première ligne');
}
});
})
</script>
$(文档).ready(函数(){
$('.add_row')。单击(函数(){
var$tr=$(this).clone('.tr_clone');
var$clone=$tr.clone();
$clone.find(':text').val('');
$tr.after($clone);
});
$('.remove_row')。单击(函数(){
var$that=$(this);
var whichtr=$(此).tr;
var$table=$that.parents('table:first');
警报($that.parents('tr:first').length);
如果($('tr',$table).length>1){
//论次级债
whichtr.remove()
}否则{
//论忠实
警惕(“你是一个供应商吗?”);
}
});
})
对于第一行,我可以添加和删除行,但是对于重复行,当我单击它们的按钮以删除和应用行时,没有任何效果
这是我的桌子:
<tr class="tr_clone">
<td style="text-align:center"><input type="text" style="width:200px" name="facture[][libelle]"><br></td>
<td style="text-align:center"><input type="text" style="width:75px" name="facture[][quantite]"><br></td>
<td style="text-align:center"><input type="text" style="width:100px" name="facture[][prix_unitaire]" ><br></td>
<td style="text-align:center"><input type="text" style="width:100px" name="facture[][taxes]"><br></td>
<td style="text-align:right"> 0,00 € <input type="hidden" name="facture[][prix]"></td>
<td style="text-align:center"><img src="images/add.png" class="add_row"> <img src="images/remove.png" id="do_not_remove" class="remove_row"></td>
</tr>
0,00 €
我不想删除最后一行,我的意思是如果只有一行,我们不应该删除
非常感谢您提供的任何帮助。原因是您仅在
文档上安装了click listener。ready
,因此以后创建的文档没有click listener
尝试事件委派:
$(“body”)。在(“单击”上,添加行,函数(){
当提供选择器时,事件处理程序被称为委派。当事件直接发生在绑定元素上时,不会调用该处理程序,但仅针对与选择器匹配的子体(内部元素)。jQuery将事件从事件目标冒泡到附加处理程序的元素(即,从最内层到最外层的元素)并为与选择器匹配的路径上的任何元素运行处理程序。