2013-08-22 73 views
0

我有一個表收集一個表,我循環使用jQuery,以便找到符合特定條件的行刪除行方式刪除每個匹配的行嗎?我的意思是有沒有辦法在我的if(row.find('input[type="checkbox"]').is(':checked'))內部收集這些行變量,以便我可以直接從我的表中刪除特定的行?
注意,我行不具有唯一id從中我從一個循環(JQuery的)

+0

你應該使用jQuery的過濾器的方法來實現這個.. –

+0

@Mr_Green:能不能請你舉一個例子,我是新來的JQuery – Jim

+0

'$( '#sometable')找到(?。 '輸入[類型= 「複選框」]')濾波器( ':檢查')除去()'。刪除所有選中的複選框。我希望這是你想要的。 –

回答

0

你可能想:

$('#proposedtable tr:contains(input:checkbox:checked)').remove(); 

$('#proposedtable input:checkbox:checked').closest('tr').remove(); 
+0

這不是我所要求的,雖然 – Jim

0

試試這個:

var filteredRows = $('#sometable').find('tr').filter(function(){ 
    return $(this).find('input[type="checkbox"]').is(':checked')); 
}); 
$(filteredRows).remove(); 

上述功能收集所有行(tr),然後過濾這些行的基礎d選中複選框的狀態。稍後過濾的行將被刪除。


爲了使它作爲數組,使用Array.prototype.slice.call()

var arrFilteredRows = Array.prototype.slice.call(filteredRows); 
+0

我已經循環遍歷行。如果我將它們存儲在一個數組不能我直接刪除它們?有沒有一個API傳遞一個數組來刪除它? – Jim

+0

@Jim即使你有一個數組,你也需要循環它來檢查複選框的狀態。 –

+0

@Jim看看我更新的帖子。 –

0

這是幫你?

http://jsfiddle.net/LGdA3/

<pre><code> 
    $('input#myButton').on('click', function(){ 
     $('table#someTable td input[type="checkbox"]:checked').each(function(){ 
      $(this).parents('tr').first().remove(); 
     }); 
    }); 
</code></pre>