如果您的複選框看起來是這樣的:
<div>
<input type="checkbox" name="categories" value="CATEGORY1"> Category One<br>
<input type="checkbox" name="categories" value="CATEGORY2"> Category Two<br>
<input type="checkbox" name="categories" value="CATEGORY3"> Category Three<br>
<input type="checkbox" name="categories" value="CATEGORY4"> Category Four <br>
</div>
然後,你可以用自己的價值,隱藏與TD的含匹配值的任何錶行,也隱藏上一行像這樣:
$(document).ready(function() {
$('input[name=categories]').click(function() {
// get the value of the clicked checkbox
var cat = $(this).val();
// select odd rows (the ones containing categories)
$('tr:odd').each(function() {
// get the td's in the row
$('td', this).each(function() {
// if the td html contains the category,
// hide its parent row and the previous row
if ($(this).html().indexOf(cat) > -1)
{
$(this).parent().css('display','none');
$(this).parent().prev().css('display','none');
}
});
});
});
});
此解決方案不處理取消選中複選框時隱藏行的撤消操作,但這樣做相當簡單。
下面是更新後的小提琴鏈接:https://jsfiddle.net/vapdp54z/3/
我希望這有助於!
編輯:如果你想隱藏切勿所有行包含的類別,只是改變>中的IndexOf到==(我沒有看過你的問題仔細
)檢查