Триггер jQuery После Ajax вызова - Плагин Ajax Многоуровневая навигация - WooCommerce - PullRequest
0 голосов
/ 07 февраля 2020

просмотрев, я обнаружил похожие проблемы, но ни одной, непосредственно связанной с моей проблемой или решением, которое работает для меня. Мои jQuery Знания не слишком сильны, так что это может быть что-то приятное и простое.

Here Goes ...

• У меня есть веб-сайт WooCommerce и я установил Ajax Layered Плагин навигации для фильтрации категорий.

• Для добавления к ним определенных стилей c у меня есть следующая функция jQuery для добавления класса к каждому li

$('.checkboxes li').each(function(){
$(this).addClass("filter_" + $(this).text());
});

• Это прекрасно работает до тех пор, пока не будет выбран фильтр.

• После перезагрузки страницы вышеуказанные классы удаляются.

• Я пытался объединить несколько различных опций вокруг ajaxSuccess и ajaxComplete, однако не могу заставить функцию перезапуститься.


Что мне нужно знать, так это как повторно вызвать указанное выше событие, чтобы при каждой перезагрузке / фильтрации страницы через ajax соответствующий класс добавлялся к этому li.

Это код до Ajax, все ли имеют правильный класс

Это изображение показывает Ли после нажатия фильтра

$( document ).ajaxComplete(function( event,request, settings ) { 
    $( "#products" ).append( "<li>Request Complete.</li>" ); 
});

$( document ).ajaxSuccess(function() { 
    $('.checkboxes li').each(function(){
        $(this).addClass("filter_" + $(this).text());
    });
}); 

$(document).ajaxSuccess(function(){ 
    alert("AJAX request successfully completed");
});

Большое спасибо заранее за любую помощь!

1 Ответ

0 голосов
/ 07 февраля 2020

Вы пытались установить время ожидания после завершения ajax?

$( document ).ajaxComplete(function() { 

    setTimeout(function(){ 

      alert("Ajax done"); 

      $('.checkboxes li').each(function(){
        $(this).addClass("filter_" + $(this).text());
      });

    }, 500); 

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...