@vikholodov

Как выполнить функцию при успешной ajax обработке?

Есть функция аккордиона
function accordion_bottom() {
    var acc = document.getElementsByClassName("accordion");
    var i;
    for (i = 0; i < acc.length; i++) {
      acc[i].onclick = function() {
        $('.accordion_arrow').toggleClass('closed');
        this.classList.toggle("active");
        var panel = this.nextElementSibling;
        if (panel.style.maxHeight){
          panel.style.maxHeight = null;
        } else {
          panel.style.maxHeight = panel.scrollHeight + "px";
        } 
      }
    }
}

Она прекрасно работает до момента выполнения вот этой функции:
function ajax_sorting() {


		var sotr_item = $('.sorting-line .sort-item.active'),
			field = sotr_item.data('field'),
			type = sotr_item.data('type'),
			cur_page = sotr_item.data('curpage'),
			order = '';

		console.log(type);

		if (sotr_item.hasClass('up')) {
			order = 'ASC';
		} else {
			order = 'DESC';
		}


		var data = {
			action: 'listing_sorting',
			term_id: $('.sorting-line').data('term-id'),
			orderby: {
				field: field,
				order: order,
				type: type
			},
			search: $('.search-form').serialize(),
			options: $('.options-form').serialize(),
			cur_page: cur_page
		};

		$.ajax({
			url: '/wp-admin/admin-ajax.php',
			type: 'POST',
			data: data,
			//dataType: 'JSON',
			success: function (data_ajax) {
				//console.log(data_ajax);
				$('.offer-lists-container').html(data_ajax);
				accordion_bottom();

			},
			error: function (data_ajax) {
			},
			complete: function (data) {
				//console.log(data);
			}
		});

	}

Суть в чем, аккордеоны установлены на карточках товара, все работает, но стоит воспользоваться сортировкой товаров, например, по цене и аккордеоны перестают работать. На сколько я понимаю, функция считает количество аккордеонов (переменная i) и циклом подставляет их в событие onclick. При сортировке соответственно нужно пересчитать количество аккордеонов, т.е. в success: поставить выполнение функции аккордеонов. Но чет не работает, то ли идея не та, то ли в синтаксисе что-то напутал
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы