Здравствуйте, есть фильтр. Фильтрует по атрибуту.
Как сделать так чтобы он искал по нескольким значениям сразу?
// сбросить все фильтры
$('.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').removeClass('selected');
$(this).parent('.city_filter li').addClass('selected');
thisItem = $(this).attr('data-city');
if(thisItem != "all") {
$('.item_block_filter[data-city='+thisItem+']').show();
$('.item_block_filter[data-city!='+thisItem+']').hide();
}
});
// Тип
$('.type_filter a').click(function() {
$('.type_filter li').removeClass('selected');
$(this).parent('.type_filter li').addClass('selected');
thisItem = $(this).attr('data-type');
if(thisItem != "all") {
$('.item_block_filter[data-type='+thisItem+']').show();
$('.item_block_filter[data-type!='+thisItem+']').hide();
}
});
// Сегодня
$('li a[data-today="Сегодня"]').click(function() {
thisItem = $(this).attr('data-today');
if(thisItem != "all") {
$('.item_block_filter').hide();
$('.item_block_filter[data-today="Сегодня"]').show();
}
});
// Завтра
$('li a[data-tomorrow="Завтра"]').click(function() {
thisItem = $(this).attr('data-tomorrow');
if(thisItem != "all") {
$('.item_block_filter').hide();
$('.item_block_filter[data-tomorrow="Завтра"]').show();
}
});
// На неделе
$('li a[data-a_week="НаНеделе"]').click(function() {
thisItem = $(this).attr('data-a_week');
if(thisItem != "all") {
$('.item_block_filter').hide();
$('.item_block_filter[data-a_week="НаНеделе"]').show();
}
});
// На выходные
$('li a[data-weekends="Выходные"]').click(function() {
thisItem = $(this).attr('data-weekends');
if(thisItem != "all") {
$('.item_block_filter').hide();
$('.item_block_filter[data-weekends="Выходные"]').show();
}
});
// цена
$('.price_min,.price_max').on('input',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));
});
});