Женщинам

718

Рюкзак №919С-170СИНИЙ
Рюкзак №919С-170СИНИЙ
Рюкзак №924С-306Т/СЕР
Рюкзак №924С-306Т/СЕР
Рюкзак №948С-164Т/БЕЖ
Рюкзак №948С-164Т/БЕЖ
Рюкзак №948С-172ЗЕЛЕН
Рюкзак №948С-172ЗЕЛЕН
Рюкзак №948С-285ЧЕРН
Рюкзак №948С-285ЧЕРН
Рюкзак №948С-318СЛИВА
Рюкзак №948С-318СЛИВА
Рюкзак №97С-303Т/СИН
Рюкзак №97С-303Т/СИН
Рюкзак №97С-305Т/БЕЖ
Рюкзак №97С-305Т/БЕЖ
').find('.geke-filter-item').each(function(){ initFilterItem.call(this); }); $(filter).each(function(){ initFilter.call(this); }); // вызываем каждый фильтр function initFilter() { var self = this; filterBlock(self); } // вызываем каждый из экземпляров фильтров function initFilterItem() { var self = this, // тут запоминаем jQuery-DOM-объект data = $(this).attr('data'); // и его параметры data = $.parseJSON(data); view(self, data); handler(self, data); } } // блок фильтра function filterBlock(block) { console.log(document.URL); // сбрасываем все настройки $(block).find('.geke-filter-reset').click(function(event){ event.preventDefault(); //window.location.href = window.location.pathname; $(block).find('.cancel-button').click(); }); // делаем get-запрос с параметрами $(block).find('.geke-filter-item_submit_button').click(function(event){ event.preventDefault(); var url = '&'; $(block).find('.geke-values').each(function(){ if ($(this).val() !== '') { values = $(this).val().split(','); url = url + 'filter_' + $(this).attr('name') + '='; for (var i=0; i Notice: Undefined variable: filter_all_category in /var/www/saviobags.ru/catalog/view/theme/default_new/template/module/filter.tpl on line 284".split('|'); var restoreColorData = "Notice: Undefined variable: filter_all_tczvet in /var/www/saviobags.ru/catalog/view/theme/default_new/template/module/filter.tpl on line 286".split('|'); var restoreSizeData = "Notice: Undefined variable: filter_all_razmer in /var/www/saviobags.ru/catalog/view/theme/default_new/template/module/filter.tpl on line 287".split('|'); var restoreBrandData = "Notice: Undefined variable: filter_all_brand in /var/www/saviobags.ru/catalog/view/theme/default_new/template/module/filter.tpl on line 288".split('|'); if (data.type !== 'slider') restoreList(); function restoreList() { // словарь id элементов списка var listGlossary = []; $(element).find('li').each(function(){ listGlossary.push($(this).attr('data-id')); }); // находим совпадение, отмечаем элемент, если оно есть for (var i=0; i -1) $(element).find('li:nth-child(' + n + ')').addClass('active'); } for (var i=0; i -1) $(element).find('li:nth-child(' + n + ')').addClass('active'); } for (var i=0; i -1) $(element).find('li:nth-child(' + n + ')').addClass('active'); } for (var i=0; i -1) $(element).find('li:nth-child(' + n + ')').addClass('active'); } } // присваиваем элементу фильтра класс, соответствующий типу $(element).addClass('' + data.type + ''); // для элементов типа list делаем имитацию чекбоксов if (data.type === 'list') { $(element).find('li').each(function(){ $(this).html('
' + $(this).text() + '
') }) } // слайдер if (data.type === 'slider') { // случайный id для слайдера, чтобы не мешать с другими экземплярами слайдеров, требуется для корректной работы jQuery UI Slider var slider_id = Math.round(Math.random()*(9999999)) + 1; $(element).find('span:not(.title)').remove(); $(element).append('
'); } // рисуем кнопку "Применить" /* $(element).append('
Применить
'); */ // рисуем крестик с отменой /*$(element).prepend('');*/ // если есть предыдущие значения, показываем /*if ($(element).find('.geke-values').val().length > 0) $(element).find('.cancel-button').css('display', 'block'); */ } // взаимодействие с фильтрами function handler(element, data) { var input = $(element).find('.geke-values'), inputVal = []; // сюда записываем выбранные значения, ключая из прошлых сессий if (data.type == 'slider') { handlerSlider(); } else { handlerList(); } // для списка и календаря function handlerList() { if ($(input).val().length > 0) { inputVal = $(input).val().split(',') } $(element).find('li').click(function(){ var x = $(this).attr('data-id'); if (!$(this).hasClass('active')) { inputVal.push(x); } else { inputVal.splice(inputVal.indexOf(x), 1) } $(this).toggleClass('active'); $(input).val(inputVal.join(',')); /*if (inputVal.length > 0) { $(element).find('.cancel-button').show(); } else { $(element).find('.cancel-button').hide(); }*/ }); // нажимаем на крестик $(element).find('.cancel-button').click(function(event){ event.preventDefault(); $(element).find('li').each(function(){ $(this).removeClass('active'); }); $(input).val(''); inputVal = []; /* $(this).hide();*/ }) } // для слайдера function handlerSlider() { var slider_id = $(element).find('.slider_id').attr('id').slice(7), thisSlider = $('#slider_' + slider_id); if ($(input).val().length > 0) { inputVal = $(input).val().split(',') } var val1 = $('#slider_values_left_' + slider_id), val2 = $('#slider_values_right_' + slider_id), slMin = parseInt(data.min), slMax = parseInt(data.max); $(thisSlider).slider({ values : [slMin, slMax], min : slMin, max : slMax, animate : true, range : true, slide : function(event, ui) { /*$(val1).text(ui.values[0] + ' руб.'); $(val2).text(ui.values[1] + ' руб.'); */ $(val1).text(ui.values[0]); $(val2).text(ui.values[1]); // если установили изначальные значения, тогда оставляем инпут пустым if (ui.values[0] === slMin && ui.values[1] === slMax) { $(input).val(''); /* $(element).find('.cancel-button').hide();*/ } else { $(input).val(ui.values[0] + ',' + ui.values[1]); /* $(element).find('.cancel-button').show();*/ } } }); // восстанавливаем данные слайдера (если есть) после инициализации (function restoreSlider() { if (inputVal.length > 1) { $(thisSlider).slider({ values : [inputVal[0], inputVal[1]] }); /* $(val1).text(inputVal[0] + ' руб.'); $(val2).text(inputVal[1] + ' руб.');*/ $(val1).text(inputVal[0]); $(val2).text(inputVal[1]); } else { /* $(val1).text(slMin + ' руб.'); $(val2).text(slMax + ' руб.'); */ $(val1).text(slMin); $(val2).text(slMax); } })(); // нажимаем на крестик $(element).find('.cancel-button').click(function(event){ event.preventDefault(); $(thisSlider).slider({ values : [slMin, slMax] }); /* $(val1).text(slMin + ' руб.'); $(val2).text(slMax + ' руб.'); */ $(val1).text(slMin); $(val2).text(slMax); $(input).val(''); inputVal = []; /*$(this).hide();*/ }) } } window.onload = function() { init(); $(".geke-filter-item ul").mCustomScrollbar({ theme:"minimal-dark" }); } })();