На странице не работает скрипт после применения фильтра товаров через mSearh2.
Вопрос такой, написал скрипт который добавляет и убирает класс 'active' у кнопок. Кнопки выбора размера у товара в категории товаров.
вот он:
Так понимаю дело в ajax, может кто сталкивался с таким и знает как исправить проблему?
вот он:
let pickSizeClass = document.querySelectorAll('.pick-size-class');
pickSizeClass.forEach((item) => {
item.addEventListener('click', function (event) {
let target = event.target,
parentTarget = target.parentElement,
parentChild = parentTarget.children;
for (var i = 1; i < parentChild.length; i++) {
parentChild[i].classList.remove('active');
}
target.classList.add('active');
});
});
при загрузке страницы скрипт работает, а вот после того как проводишь любые манипуляции с фильтром, например уменьшаешь верхнюю границу цен, или выбираешь фильтр по производителю, то скрипт перестает работать..Так понимаю дело в ajax, может кто сталкивался с таким и знает как исправить проблему?
Комментарии: 4
вот кусочек кода с этими размерами из чанка:
{if $size}
<div class="size">
<label>Объём:</label>
{foreach $size as $key => $value index=$index}
<span class="pick-size-class {$index ? '' : 'active'}">
<input class="hidden" type="radio" name="options[size]" value="{$value}" id="size[{$value}]"
required="" {$index ? '' : "checked" }>{$value}
</span>
{/foreach}
</div>
{/if}
у mSearh2 есть callback на срабатывание фильтра и получение результата, сделайте функцию, которая будет вызываться после срабатывания фильтра
хм… красиво звучит, но непонятно..) а подробнее можно, что за функцию и куда её, если не тяжело, или пример какой нибудь..)
docs.modx.pro/komponentyi/msearch2/snippetyi/mfilter2#Javascript
вам необходимо отслеживать это событие и в момент его наступления заново выполнять ваш код.
вам необходимо отслеживать это событие и в момент его наступления заново выполнять ваш код.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.