我有一张要过滤的数据表。该过滤器基于两个因素。具有相应列和文本输入的ddl。当td的值与搜索条件不匹配时,有什么办法可以隐藏整个tr,按原样现在只删除td。
$("#search").on("keyup", function() {
var value = $(this).val().toLowerCase();
var row = document.getElementById('row');
var x = document.getElementById('DDL_SearchType');
var type = x.options[x.selectedIndex].text;
$('#print_Table tr td[class =' +type+']').filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
答案 0 :(得分:1)
目前,仅删除了td。
那是因为您在致电时只针对迭代的td
,
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
您需要做的是通过调用tr
来定位$(this).parent()
,因此您的代码将是:
$('#print_Table tr td[class =' +type+']').filter(function() {
$(this).parent().toggle($(this).text().toLowerCase().indexOf(value) > -1)
});