如果 Td 值不匹配,则删除整个 Tr语言 - Javascript



我有一个表格,其中包含我要过滤的数据。过滤器基于两个因素。具有相应列和文本输入的 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)
});
});

目前只有td被删除。

这是因为当您调用时,您仅针对迭代td

$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)

您需要做的是通过调用$(this).parent()来定位tr,因此您的代码将是:

$('#print_Table tr td[class =' +type+']').filter(function() {
$(this).parent().toggle($(this).text().toLowerCase().indexOf(value) > -1)
});

最新更新