Есть 2 фильтра, 1 фильтрует блоки по data-choise, второй по data-provider, каждая функция переопределяет друг друга, т.е. если отфильтровать блоки второй функцией, то применив фильтр первой, все блоки, которые были скрыты, появляются вне зависимости какие условия были выполнены. Нужно чтобы каждая функция учитывала результаты работы друг друга
$(document).on('change', '#choose', function (e) {
var valueSelected = this.value;
if (valueSelected !== "Все") {
$(`.taryf-filter[data-choise="${valueSelected}"]`).fadeIn();
$(`.taryf-filter[data-choise!="${valueSelected}"]`).fadeOut();
}
else {
$('.taryf-filter').fadeIn();
}
});
$(document).on('change', '#provider_select', function (e) {
var valueSelected = this.value;
if (valueSelected !== "Все провайдеры") {
$(`.taryf-filter[data-provider="${valueSelected}"]`).fadeIn();
$(`.taryf-filter[data-provider!="${valueSelected}"]`).fadeOut();
}
else {
$('.taryf-filter').fadeIn();
}
});