Как сделать так чтобы jquery фильтр искал по нескольким значениям?
есть фильтр. Фильтрует по атрибуту. Как сделать так чтобы он искал по нескольким значениям сразу?
$(document).ready(function() {
// сбросить все фильтры
$('.button-resourse_reset').click(function() {
$('.item_block_filter').show();
$('.price_min,.price_max,.max_data,.min_data').val('');
});
// Города
$('.city_filter a').click(function() {
$('.city_filter li a').removeClass('selected_filtr');
$(this).parent('.city_filter li a').addClass('selected_filtr');
thisItem = $(this).attr('data-city');
if(thisItem != "all") {
$('.item_block_filter[data-city='+thisItem+']').show();
$('.item_block_filter[data-city!='+thisItem+']').hide(300);
}
});
// Тип
$('.type_filter a').click(function() {
$('.type_filter li a').removeClass('selected_filtr');
$(this).parent('.type_filter li a').addClass('selected_filtr');
thisItem = $(this).attr('data-type');
if(thisItem != "all") {
$('.item_block_filter[data-type='+thisItem+']').show();
$('.item_block_filter[data-type!='+thisItem+']').hide(300);
}
});
// Сегодня
$('li a[data-today="Сегодня"]').click(function() {
thisItem = $(this).attr('data-today');
if(thisItem != "all") {
$('.item_block_filter[data-today="Сегодня"]').show();
$('.item_block_filter[data-today!="Сегодня"]').hide(300);
}
});
// Завтра
$('li a[data-tomorrow="Завтра"]').click(function() {
thisItem = $(this).attr('data-tomorrow');
if(thisItem != "all") {
$('.item_block_filter[data-tomorrow="Завтра"]').show();
$('.item_block_filter[data-tomorrow!="Завтра"]').hide(300);
}
});
// На неделе
$('li a[data-a_week="НаНеделе"]').click(function() {
thisItem = $(this).attr('data-a_week');
if(thisItem != "all") {
$('.item_block_filter[data-a_week="НаНеделе"]').show();
$('.item_block_filter[data-a_week!="НаНеделе"]').hide(300);
}
});
// На выходные
$('li a[data-weekends="Выходные"]').click(function() {
thisItem = $(this).attr('data-weekends');
if(thisItem != "all") {
$('.item_block_filter[data-weekends="Выходные"]').show();
$('.item_block_filter[data-weekends!="Выходные"]').hide(300);
}
});
// цена
$('.price_min_max_btn').on('click',function() {
const
min = $('.price_min').val(),
max = $('.price_max').val();
$('.item_block_filter').each(function() {
const price = +this.dataset.price;
$(this).toggle((!min || min <= price) && (!max || price <= max));
});
});
// дата
$('.data_btn_go').on('click',function() {
const
min_data1 = $('.min_data').val(),
max_data1 = $('.max_data').val();
min_data = min_data1.replace(new RegExp('-', 'g'),"");
max_data = max_data1.replace(new RegExp('-', 'g'),"");
$('.item_block_filter').each(function() {
const price2 = +this.dataset.datatime_minus;
$(this).toggle((!min_data || min_data <= price2) && (!max_data || price2 <= max_data));
});
});
});
Верстка фильтра https://jsfiddle.net/localhost3310/jpxw08s6/