Изотоп метафиззы - показывать только возможные комбинации
Я пытаюсь создать метод фильтрации с изотопом, где я могу отфильтровать 2 категории - место и работа. Раньше я читал официальную документацию по изотопам о комбинированных фильтрах, и эта часть работает.
Кроме того, после загрузки страницы отображаются только те фильтры, которые отображаются на моей странице (у меня 9 городов и 9 вакансий, но 3 города и 2 вакансии в списке фильтров скрыты, потому что для этих фильтров нет результатов).
Что мне нужно иметь, так это то, что если я выбрал один конкретный город, фильтр для категорий вакансий показывает только те фильтры, которые доступны для этого города.
Была похожая проблема, у одного пользователя было несколько лет назад, но это решение не работает для меня должным образом.
Мой код:
function concatValues( obj ) {
var value = '';
for ( var prop in obj ) {
value += obj[ prop ];
}
return value;
}
function checkFilter() {
$(".stellenangebote.filter a").each(function() {
var dataFilter = $(this).attr('data-filter');
if($(".ce_stellenangebot" + dataFilter).length > 0 ) {
$(this).parent().removeClass('hide');
} else {
$(this).parent().addClass('hide');
}
});
}
var $container = $('.stellenangebote-liste.isotope');
$container.waitForImages(function() {
$(".stellenangebote-liste.isotope").addClass("loaded");
// init
$container.isotope({
// options
itemSelector: '.ce_stellenangebot'
});
checkFilter();
});
var filters = {};
$(".stellenangebote.filter.ort a, .stellenangebote.filter.beruf a").click(function() {
var buttonGroup = $(this).parents(".stellenangebote");
var filterGroup = buttonGroup.attr('data-filter-group');
filters[ filterGroup ] = $(this).attr('data-filter');
var filterValue = concatValues( filters );
$(this).parents(".stellenangebote.filter").find("a").removeClass("active");
$(this).addClass("active");
checkFilter();
// init
$container.isotope({
// options
itemSelector: '.ce_stellenangebot',
filter: filterValue
});
return false;
});
Итак, что мне нужно сделать, так это добавить ".hide" к тем категориям фильтров, которые я не могу объединить с той, которую я нажал.
Я надеюсь, что кто-то может помочь мне и извините за мой плохой английский.:)