Код выбора нужных option и кнопка для фильтрации:
<p class="rus">Уровень подготовки</p>
<?php
$categories = get_terms('level', 'orderby=name&hide_empty=0');
if($categories){
echo '<select class="select" id="level1"><option value="card-item">Любой</option>';
foreach ($categories as $cat){
echo "<option value='level-{$cat->term_id}'>{$cat->name}</option>";
}
echo '</select>';
}
?>
<button class="btn_access func-during" onclick="applyFilters()">Подобрать</button>
Сам скрипт фильтрации:
// Фильтрация программ
function applyFilters() {
// Инициализация классов
var direction1 = $("#direction1").val();
var level1 = $("#level1").val();
var universities = $("#universities").val();
var language = $("#language").val();
var program = $("#program").val();
// Создания селектора
var selector = "#card-wrapper-first ." + direction1 + "." + level1 + "." + program + "." + language + "." + universities;
// Появление нового запроса
$('#card-wrapper-first .card-item').hide();
$(selector).show();
}
И вот такой код, который запоминает выбранное значение select:
$(function () {
var abracadabra = window.localStorage.getItem("abracadabra") || "opt1";
$(".jqueryOptions").hide();
$("." + abracadabra).show();
$("#level1")
.change(function () {
window.localStorage.setItem("abracadabra", this.value);
$(".jqueryOptions").slideUp();
$(".jqueryOptions").removeClass("current-opt");
$("." + $(this).val()).slideDown();
$("." + $(this).val()).addClass("current-opt");
})
.val(abracadabra);
});
Сейчас у меня при выборе любого option почему-то активируется ещё и скрипт фильтрации. Т.е. к отфильтрованным блокам добавляются ещё те, которые ты выбрал из option. А по идеи ты просто должен выбрать необходимые option и только после нажатия на кнопку "Подобрать" фильтрация должна срабатывать. У меня почему-то он стал срабатывать без нажатия на кнопку, а просто при выборе option