0

我有一个表,我用 JQuery 循环以查找符合某些条件的行:

 $('#sometable').find('tr').each(function () {  
   var row = $(this); //<----
    if(row.find('input[type="checkbox"]').is(':checked')) {   
//etc
   }   
}

我的问题是,有没有办法删除每个匹配的行?我的意思是有没有办法在我的内部收集这些行变量,if(row.find('input[type="checkbox"]').is(':checked'))以便我可以直接从我的表中删除特定的行?
请注意,我的行没有唯一的id

4

3 回答 3

0

您可能想要:

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

或者

$('#proposedtable input:checkbox:checked').closest('tr').remove();
于 2013-08-22T08:13:53.550 回答
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>
于 2013-08-22T09:43:03.933 回答
0

尝试这个:

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

上述函数将收集所有行(tr),然后根据复选框的选中状态过滤这些行。稍后将删除过滤的行。


要将其作为数组,请使用Array.prototype.slice.call()

var arrFilteredRows = Array.prototype.slice.call(filteredRows);
于 2013-08-22T09:19:12.603 回答