在JQuery中添加行/克隆来增加类

可能重复:
如何使用jQuery向表中添加新行,并为其添加递增ID

我有一些表行如下:

      

然后我得到一个按钮,它取最后一个表行并将其克隆到下面的那一行,因此使用此Jquery添加一个新行“

 $("#add_row").click(function() { $('#staff tbody>tr:last').clone(true).insertAfter('#staff tbody>tr:last'); return false; }); 

我需要做的是RS_Staff_Title1变为RS_Staff_Title2,RS_Staff_Title3等等 – 对于其他列也会发生同样的情况。

我怎样才能实现这个目标?

一种可能的方案:

 $("#add_row").click(function() { var row = $("#staff tbody > tr:last"), newRow = row.clone(true); newRow.find("input").each(function() { var num = +(this.id.match(/\d+$/) || [0])[0] + 1; this.id = this.id.replace(/\d+$/, "") + num; this.name = this.id; }); newRow.insertAfter(row); return false; }); 

演示: http //jsfiddle.net/GHTN7/

你可以试试这个

 $("#add_row").click(function() { $('#staff tbody>tr:last').clone(true).insertAfter('#staff tbody>tr:last') .find('input').attr({'name':'RS_Staff_Title'+$('#staff tbody>tr').length, 'id':'RS_Staff_Title'+$('#staff tbody>tr').length }); }); 

演示

如果您不需要输入’ID,则可以使用数组,HTML将分配递增的数字:

       
 $('#staff tbody>tr:last').clone(true).appendTo('#staff tbody>tr:last'); 

试试这个

 var j = 1; var arr = ["RS_Staff_Title", "RS_No_WD_Staff", "RS_No_Weekdays", "RS_No_WE_Staff", "RS_No_WE_Days"] $("#add_row").click(function() { j++; var $last = $('#staff tbody>tr:last'); $last.clone(true).insertAfter('#staff tbody>tr:last'); // Chaching it again to conter for the newly added Row... $last = $('#staff tbody>tr:last'); // Selecting all the td's in the newly added row.. var $td = $('#staff tbody>tr:last td'); $.each(arr, function(i) { if(i > 4) return false; $($td[i]).find('input').attr('id' , (arr[i] + j )); $($td[i]).find('input').attr('name' , (arr[i] + j )); // Not considering the Images }); return false; });​ 

检查FIDDLE