0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 845 Просмотров
*

pavelrer

  • Давно я тут
  • 611
  • 10 / 2
Всем Доброго!

Прошу помощи или совета в решении вот такой задачи.
Есть Custom Filter Pro - Нужно сделать фильтр, выпадающим списком вниз, критерии выбора всего одна это "тип товара".
Выключил все фильтра (по категориям, производителям и.т.д) оставил только фильтр "по опциям товара"

для каждого типа товара создал группу и туда запихал нужные фильтры именно к этому типу товара.
т.е в списке "тип товара" в моем случае выбираем "клеммники" вылетают вниз фильтры для клеммников,
                                                         выбираем "контакторы" вылетают вниз фильтры для контакторов.
Но вот беда, если выбрано "без типа товара" то вниз вылетает и фильтры для клеммников и фильтры для контакторов.

Как пытаюсь решить.

Фильтр "Тип товара" - это список, фильтры для определенного типа товара это чекбоксы.
У списков и чекбоксов разные классы, так построен сам фильтр.
Идея такая удалить все содержимое в дивах у которых присвоен класс для чекбокса ЕСЛИ выбрано или по умолчанию в фильтре "тип товара" =  "без типа товара".

Пациент: 40amperТОЧКАruСДЕШabb

Для того чтобы убить все содержание дивов с этими классами при f5 или по умолчанию делаю так:

Код
 
  var x = document.getElementsByClassName("value_text");   // Выводим в div с классом value_text значение value из списка <select> с классом cf_flt - ЭТО ДЛЯ ТЕСТА
  x[0].innerHTML =  jQuery("select.cf_flt").val();;                 //  Будет выполнятся при загрузки страници, и вернет значение по умолчанию при F5     - ЭТО ДЛЯ ТЕСТА

  var y = jQuery("select.cf_flt").val();;                                                                               //   Собственно что и должен делать скрипт, удалить все что в DIV'ах
                                                                                                                                  //  C id="#cf_flt_wrapper_custom_f_id_128"

  if( y == "Без Тип товаров") {        jQuery('#cf_flt_wrapper_custom_f_28_128').remove();
                                                        jQuery('#cf_flt_wrapper_custom_f_29_128').remove();
jQuery('#cf_flt_wrapper_custom_f_30_128').remove();
jQuery('#cf_flt_wrapper_custom_f_31_128').remove();  // Как бы покороче то записать?
jQuery('#cf_flt_wrapper_custom_f_41_128').remove();  // Хот от 0 до 100 чтоль
jQuery('#cf_flt_wrapper_custom_f_42_128').remove();
jQuery('#cf_flt_wrapper_custom_f_43_128').remove();
jQuery('#cf_flt_wrapper_custom_f_45_128').remove();
jQuery('#cf_flt_wrapper_custom_f_46_128').remove();
jQuery('#cf_flt_wrapper_custom_f_47_128').remove();
jQuery('#cf_flt_wrapper_custom_f_48_128').remove();
jQuery('#cf_flt_wrapper_custom_f_49_128').remove();
jQuery('#cf_flt_wrapper_custom_f_50_128').remove();
jQuery('#cf_flt_wrapper_custom_f_51_128').remove();
jQuery('#cf_flt_wrapper_custom_f_52_128').remove();
jQuery('#cf_flt_wrapper_custom_f_53_128').remove();
                                                 }

Отлично все работает.
т.е зашли на страничку, сразу скрипт скушал все из дивов типа #cf_flt_wrapper_custom_f_N_128

Далее теперь нужно чтобы при выбор в фильтре "тип товара" - контакторы, а затем опять "без типа товара" все отработало так же как и выше но без всяких F5

Пишу:

Код

//  Все что ниже почему-то работает только один раз после перезагрузки страници, а нужно что бы работало при каждом выборе
//  Выводит в тестовую временную переменную, отображается над фильтром!
 
jQuery("select.cf_flt").change(function() {                                             // Должно выполняться если изменили выбор в форме <selec> с классом cf_flt.   
                                                                                                     // (! Но почему-то выполняется только один раз после F5 и все)
                                                                                                     // (т.е нажали F5 если "без типа товара" то отработает скрипты выше, делаем выбор, смотрим
                                                                                                     // (тестовую переменную - ок отработал отдал value, делаем еще раз выбор - ТУТ НИ ЧЕГО НЕ ПРОИСХОДИТ!
   var x = document.getElementsByClassName("value_text");                    // Выводим в div с классом value_text значение value из списка <select> с классом cf_flt
   x[0].innerHTML =  jQuery("select.cf_flt").val();;
});



Вот не могу понять как натянуть эту шляпу.

Оговорюсь, в js лапух, что сумел то и сварил.

Буду благодарен за любую помощь.

Спасибо!





*

pavelrer

  • Давно я тут
  • 611
  • 10 / 2
Re: J3 как одеть java шляпу на Custom Filter Pro
« Ответ #1 : 14.07.2016, 05:57:01 »
Вопрос решен.
Нашел файл где AJAX грузит фильтр и вставил туда, просто с начало не понял почему отваливается от селектора.
*

pavelrer

  • Давно я тут
  • 611
  • 10 / 2
Re: J3 как одеть java шляпу на Custom Filter Pro
« Ответ #2 : 14.07.2016, 06:22:49 »
Нет все же остался

jQuery('#cf_flt_wrapper_custom_f_29_128').remove();
jQuery('#cf_flt_wrapper_custom_f_30_128').remove();
jQuery('#cf_flt_wrapper_custom_f_31_128').remove();  // Как бы покороче то записать?
jQuery('#cf_flt_wrapper_custom_f_32_128').remove();  // Хот от 0 до 100 чтоль

Не дается мне for на java  ;D

Кто научит?
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: J3 как одеть java шляпу на Custom Filter Pro
« Ответ #3 : 14.07.2016, 06:57:15 »
jQuery("[id^='cf_flt_wrapper_custom_f_']").remove();
*

pavelrer

  • Давно я тут
  • 611
  • 10 / 2
Re: J3 как одеть java шляпу на Custom Filter Pro
« Ответ #4 : 14.07.2016, 07:23:09 »
jQuery("[id^='cf_flt_wrapper_custom_f_']").remove();

Супер!
Но слишком уж хорошо работает, трет все cf_flt_wrapper_custom_f_ id, а мне бы с 20ки начиная, а то от фильтра кроме названия ни че не осается  ;D

Спасибо!
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: J3 как одеть java шляпу на Custom Filter Pro
« Ответ #5 : 14.07.2016, 08:37:31 »
for (i = 20; i <= 100; i++) {
  jQuery('#cf_flt_wrapper_custom_f_'+i+'_128').remove();
}

var i = 20;
while (i <= 100) {
  jQuery('#cf_flt_wrapper_custom_f_'+i+'_128').remove();
  i++;
}
от 20 до 100
*

pavelrer

  • Давно я тут
  • 611
  • 10 / 2
Re: J3 как одеть java шляпу на Custom Filter Pro
« Ответ #6 : 14.07.2016, 09:45:15 »
О! Спасибо!
Место +i+ ставил .i.  ;D
Надо почитать
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Фильтр по дополнительному полю - допилить JL Content Fields Filter

Автор antarey

Ответов: 20
Просмотров: 1419
Последний ответ 17.03.2024, 21:46:20
от Mitriy
После установки и активации плагина Add Custom CSS упал сайт (решено)

Автор paramonaff

Ответов: 9
Просмотров: 499
Последний ответ 04.11.2022, 19:53:04
от marksetter
Почему стили для @media print не видны в файле стилей custom.css

Автор GuDeVic

Ответов: 28
Просмотров: 896
Последний ответ 21.07.2021, 21:57:16
от effrit
Как получить ссылку изображения из дополнительных полей Custom Fields Media?

Автор Vas80

Ответов: 3
Просмотров: 604
Последний ответ 18.09.2020, 12:37:20
от Vas80
Excel2Virtuemart не видит настраиваемые поля VirtueMart от Custom Fields For All

Автор Damarkuzz

Ответов: 1
Просмотров: 316
Последний ответ 08.09.2020, 10:37:59
от AlexB