Я пытаюсь фильтровать с несколькими флажками, и я использовал код из ответа в этом примере: Jquery filtering with multiple Checkboxes Он работает очень хорошо, но мне нужны результаты, чтобы показать комбинацию флажков. На данный момент он точно соответствует результату фильтра checkbox. Я хочу, чтобы он показывал все результаты, если объекты содержат только один массив, а не массив. Я не могу использовать изотоп для моего конкретного проекта, но это было бы как этот изотопной например:Блокировка JQuery с несколькими комбинациями флажков
<a href="http://codepen.io/desandro/pen/btFfG">
EDIT: Это этот бит кода Inparticular Я знаю, что нуждается в изменении. На данный момент он проходит через массив и показывает содержимое, если элемент соответствует категории флажка. Мне это нужно перебрать массив и показать содержимое, если какой-либо из категорий соответствует ни одному из переменных массива:
// create a collection containing all of the filterable elements
var $filteredResults = $('.card');
// loop over the selected filter name -> (array) values pairs
$.each(selectedFilters, function(name, filterValues) {
// filter each .card element
$filteredResults = $filteredResults.filter(function() {
var matched = false;
var currentFilterValues = $(this).data('category').split(' ');
// loop over each category value in the current .card's data-category
$.each(currentFilterValues, function(_, currentFilterValue) {
// if the current category exists in the selected filters array
// set matched to true, and stop looping. as we're ORing in each
// set of filters, we only need to match once
if ($.inArray(currentFilterValue, filterValues) != -1) {
matched = true;
return false;
}
});
// if matched is true the current .card element is returned
return matched;
});
});
Есть ли что-то в особенности о коде, который у вас возникли проблемы с пониманием? Когда вы используете код из онлайн-примера, как вы это делали, важно попытаться понять, что делается, почему и как оно реализовано. Таким образом, вас не удивляют неприятные ошибки или, по крайней мере, имеют представление о том, где искать. Как бы то ни было, случайный интернет-код не делает именно то, что вы хотите, и вы просите кого-то исправить его для вас. Было бы неплохо показать, что вы пытались понять и застряли, [с коротким примером] (http://meta.stackexchange.com/q/22754/218143), чтобы начать – tmpearce
Спасибо, я просто отредактировал мой ответ. Я знаю часть кода, которую мне нужно изменить, и я понимаю, что там. я думаю, что я почти там, я просто пытаюсь понять свою логику и функцию. Я отредактировал свой вопрос выше, чтобы, надеюсь, объяснить это лучше ... – Julz