Нажав на кнопку, вы примете желаемое значение, как и вы. После этого вы можете использовать jQuery для добавления hide
класса к каждому tr
, который не имеет отфильтрованного класса, с tr:not(.className)
, как показано в примере ниже:
$(document).on('click', '.filterBtn', function(){
let filterNumber = $('#filterNumber').val();
let className = 'filter_' + filterNumber;
$('table tbody tr:not(.'+className+')').addClass('hide');
});
Примечание что если вы фильтруете более одного раза, вам также нужно будет включить способ удаления класса hide, если вы ранее фильтровали что-то еще. Таким образом, вы просто добавили бы
$('table tr.'+className+'').removeClass('hide');
, чтобы удалить класс скрытия, если элемент фильтра был ранее отфильтрован.
Редактировать:
Поскольку это множественный выбор, я сначала применил бы класс hide
к каждому элементу, затем l oop через выбранные значения и удалил hide
из тех, чей класс соответствует выбранному числу.
$(document).on('click', '.filterBtn', function(){
$('table tbody').find('tr').addClass('hide');
let filterNumbersArray = $('#filterNumber').val();
for(i=0; i<filterNumbersArray.length; i++){
let className = 'filter_' + filterNumbersArray[i];
$('table tbody tr.'+className+'').removeClass('hide');
}
});