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">&nbsp;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将事件从事件目标冒泡到附加处理程序的元素(即,从最内层到最外层的元素)并为与选择器匹配的路径上的任何元素运行处理程序。