根据复选框选中过滤某些TR

请帮助我,因为我仍在尝试掌握jQuery编码。 我有这些数据,并希望根据用户的复选框选择过滤它作为下面的HTML代码。

。未选中任何内容时,将显示所有行。

。选中所有复选框后,将显示所有行

。仅显示符合所选条件的行。 例如,

一个。 选中2GB时,仅显示2GB行。

湾 运输和2GB选中时,仅显示Memory3

1GB
2GB
4GB
1000MHz
1333MHz
Discontinued
Shipping


感觉有点慷慨,下面的代码执行以下操作

  1. 在复选框更改时,映射选定值的数组
  2. 迭代选定的值并找到包含所述值的td
  3. 显示所选值的父tr

     $(":checkbox").change(function() { var checkedValues = $(":checkbox:checked").map(function() { return this.value; }).get(); $("tbody tr").hide(); for (var i = 0; i < checkedValues.length; i++) { $("tbody tr td:contains('" + checkedValues[i] + "')").parent("tr").show(); } }); 

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

bla bla
Product Number Status Capacity Speed
Memory1 Shipping 1GB 1333MHz
Memory2 Discontinued 1GB 1000MHz
Memory3 Shipping 2GB 1333MHz
Memory4 Discontinued 4GB 1000MHz
Memory5 Shipping 4GB 1333MHz