1

我有一张带复选框的桌子。标题复选框可以全选/取消全选。我还有一个图像(#delAllPort),它从表中删除了选中的行。我需要对检查所有内容的复选框(及其对应的行)做出预期,以使标题永远不会被删除。我在课堂上使用了 .not() ,但它似乎不起作用。提前致谢。这是我的 jQuery:

$('#delAllPort').click(function(){
  $('tr:has(input:checkbox:checked)').not('.selAllChksInGroup').each(function(){
    $(this).remove();
  });
}); 

...这是jsfiddle:

http://jsfiddle.net/anschwem/8kDRe/

4

4 回答 4

1
$('tr:has(input:checkbox:checked:not(.selAllChksInGroup))').remove();
于 2013-02-12T21:40:33.187 回答
1

改变

$('tr:has(input:checkbox:checked)').not('.selAllChksInGroup')

$('tr:has(input:checkbox:checked)').not('tr:has(input.selAllChksInGroup)')

因为您的选择器是选择 TR 而不是 INPUT。

于 2013-02-12T21:40:57.187 回答
0

将类添加selAllChksInGroup到 tr 而不是 td:http: //jsfiddle.net/8kDRe/3/

于 2013-02-12T21:40:12.707 回答
0

用 包围“标题”,用 包围<thead>其余行<tbody>。然后,只需选择<tbody>要删除的行:

$('tbody tr:has(input:checkbox:checked)').remove();

http://jsfiddle.net/8kDRe/4/

于 2013-02-12T21:41:24.130 回答