Как очистить список сравнения в Comparison?

Подскажите, кто знает, как на странице сравнения товаров сделать ссылку для очистки всего списка? Сравнение делаю с помощью Comparison.
И можно ли сделать так, что бы при первом заходе на страницу сравнения показывались все характеристики, а не различающиеся, как по умолчанию?
Igor Ivanov
20 октября 2016, 09:29
modx.pro
2 199
0

Комментарии: 6

Александр
20 октября 2016, 19:26
3
0
Где-то использовал вот такой код чтобы не переделывать back-end:

$('.comparison-row .comparison-head').each(function () {
         $.ajaxSetup({async: false});
         $.post(document.location.href, {cmp_action: 'remove', list: $(this).data('list'), resource: $(this).find("input[name='id']").val()}, function(response) {}, 'json');
         $.ajaxSetup({async: true});
         document.location.reload();
});

Это подходит для версии пакета Comparison 1.0.0

Повесить можно на любое событие
    Игорь Гришанов
    20 марта 2019, 09:30
    0
    а для последней версии как очистить?
      Станислав
      05 ноября 2020, 17:15
      1
      +2
      Может кому то пригодится

      $(document).ready(function () {			
          $('.comparision__reset-list').click(function() {
              $('.comparison-row .comparison-head').each(function (index, element) {
      	    $.ajaxSetup({
      	        async: false
      	    });
      	    $.post(document.location.href, {
      	        cmp_action: 'remove',
      		list: $(this).data('list'),
      		resource: $(element).attr('data-id')
      	    }, function(response) {}, 'json');
      	    $.ajaxSetup({
      	        async: true
      	    });
      	    document.location.reload();
      	});
          });
      });
        Дмитрий
        17 августа 2021, 11:19
        0
        Здравствуйте, добавил скрипт сразу на страницу сравнения, но удаляет почему то при нажатии по одному, а не все сразу( В чем может быть проблема?
          Алексей Смирнов
          16 ноября 2021, 22:57
          0
          Проблема в том что строка
          document.location.reload();
          стоит слишком рано. Исправленный вариант:
          $(document).ready(function () {			
              $('.comparision__reset-list').click(function() {
                  $('.comparison-row .comparison-head').each(function (index, element) {
          	    $.ajaxSetup({
          	        async: false
          	    });
          	    $.post(document.location.href, {
          	        cmp_action: 'remove',
          		list: $(this).data('list'),
          		resource: $(element).attr('data-id')
          	    }, function(response) {}, 'json');
          	    $.ajaxSetup({
          	        async: true
          	    });
          	});
               document.location.reload();
              });
          });
            Дмитрий
            19 ноября 2021, 11:22
            0
            спасибо за ответ, все работает.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6