2012-09-19 111 views
2

當第一行中的鏈接被點擊時,我需要刪除表格的三行。使用jQuery刪除多個表格行

這些行是使用jQuery動態創建的,並預先掛載到表中,如下所示。

var ups=''; 
     ups+='<tr data-file='+file_id+'>'; 
     ups+='<td width="40%">'+gl_file_name1+'</td><td>'+gl_upload_date1+'</td>'; 
     ups+='<td>'+gl_upload_desc+'</td>'; 
     ups+='<td><a href="sym.php?doc_id='+file_id+'" class="view2_fl">VIEW FILE</a> | <a href="javascript:void(0);" data-file='+file_id+' data-job='+job_id+' class="del2_fl">DELETE</a></td></tr>'; 
     ups+='<tr><td>'+priority+'</td><td>'+price+'</td><td>'+tender+'</td><td>&nbsp;</td></tr>'; 
     ups+='<tr class="bottom-row"><td colspan="4">'+notes+'</td><tr>'; 

     $(ups).prependTo('.app_table'); 

這是循環多少次'文件'。

當DELETE鏈接被按下時,我需要刪除所有三行。到目前爲止,我已成功使用下面的代碼刪除第一行:

$(this).closest("tr").remove(); 

我曾嘗試使用的.next(),但是這似乎並沒有工作。

回答

4

獲取一行的鏈接,並從那裏你可以得到下一行,並添加到jQuery對象,並刪除所有一氣呵成三:

var tr = $(this).closest("tr"); 
tr.add(tr.next()).add(tr.next().next()).remove(); 

通過首先獲取所有三行,您不會遇到問題,即您想要找到與已刪除的行相鄰的行。

+1

+1很整齊!演示:http://jsfiddle.net/rupw/tZMgs/1/ – Rup

2

next()應該工作我認爲。嘗試將參考文件保存到最近的tr並先刪除其他參考文獻,例如

var $tr = $(this).closest("tr"); 
$tr.next("tr").remove(); 
$tr.next("tr").remove(); 
$tr.remove(); 

演示小提琴:http://jsfiddle.net/rupw/tZMgs/

2

只是另一種想法,你可以使用一個像GT這樣的選擇器。

例如:

$('tr:gt(1)').remove() 

如果所述第一後刪除行。

$('tr:eq(0)').remove() 

應刪除第一行

Reggards