Как очистить список желаний?

голоса: 0

Как очистить список желаний, да вопрос уже решался в прошлом, но установка кнопки и скрипта к ней работать отказывается, вот тот код:

<?if($PAGE_ID$="wishlist")?>
 <input type="button" onclick="clearwish()" value="Очистить список желаний">
 <script>
 function clearwish() {
 var arraywish = $('.wish');
 var arraynum = arraywish.length;
 for(var i=0; i<arraynum; i++) {
 var obj = $('.wish').eq(i).attr("id");
 id = obj.match(/[0-9]+/g)[0];
 _uPostForm('',{type:'POST',url:'/shop/wishlisth',data:{'goods_id':id}});
 }
 }
 </script>
 <?endif?>

Что нужно исправить?

Вообще вопрос возник из за отсутсвия возможности отписаться от добавленных товаров, но после снятых с активации товаров. В итоге выйти на товар и отписаться нет, а так же хотелось бы более тщательней рассмотреть тему, так как к примеру у Алиэкспресса список желаний детится на категории которые можно создавать и управлять ими, вообще очень полезная вещь еще по теме появления новых товаров или изменения цены конечно в направлении уменьшения, хотя может и увеличения, по отношению к уже добавленным в список желаемых товаров.

| Автор: | Категория: Интернет-магазин
Изменение категории | | Автор: Yuri_Geruk
Предоставьте ссылку на сайт, где скрипт не работает.

Ответов: 1

Голоса: +1
 
Лучший ответ

Поменяйте местами кнопку со скриптом. Если скрипт рабочий, то заработает.

<?if($PAGE_ID$="wishlist")?>
<script>
 function clearwish() {
 var arraywish = $('.wish');
 var arraynum = arraywish.length;
 for(var i=0; i<arraynum; i++) {
 var obj = $('.wish').eq(i).attr("id");
 id = obj.match(/[0-9]+/g)[0];
 _uPostForm('',{type:'POST',url:'/shop/wishlisth',data:{'goods_id':id}});
 }
 }
 </script>
<input type="button" onclick="clearwish()" value="Очистить список желаний">
<?endif?>

 

| Автор:
Выбор ответа лучшим | | Автор: Yuri_Geruk
к сожалению скрипт не работает, уменя установлен старый шаблон 787, возможно причина в этом
Евгений Сергеевич,
Никакой разницы в каком порядке кнопка и скрипт. Это как в примере 5+6 поменять местами на 6+5 и надеется на другой результат. Я проверил код - все работает. Проблема где-то у вас. Так что нужна ссылка на сайт

http://vgooo.ru

Ссылка на сайт

Евгений Сергеевич,
А где у вас кнопка добавить в желания? Без ее вставки ничего работать у вас и не будет

Кнопка находится непосредственно на странице товара, на рисунке заштрихованна желтым маркером

Кнопка заштрихована желтым маркером

Старый код удалите, вместо него вставьте этот.

После нажатия на кнопку, товары будут удалены со списка желаний, значек в стандартном шаблоне "Удалить со списка желаний" (которого у Вас нету), заменится на "Добавить". Чтобы товары исчезли с этой страницы нужно будеть ее обновить.

Если в списке будет много товаров, возможен 3-часовый бан пользователя по IP. Товары будут удалены только  с 1 страницы. Это все касается и того скрипта, что Вы вначале пытались поставить, этот я подредактировал, чтобы работал на вашем сайте.

<?if($PAGE_ID$="wishlist")?>
<input type="button" id="clear-wishlist" value="Очистить список желаний">
<script>
(function ($) {
  function clearWishlist() {
    $('.list-item').each(function(){
      _uPostForm('',{type: 'POST',url:'/shop/wishlisth',data:{'goods_id': this.id.split('-') [2]}});
    });
  };
  
  $('#clear-wishlist').on('click', clearWishlist);
})(jQuery);
</script>
<?endif?>

 

Да действительно код работает, я бы поставил подсказку к кнопке ("Нажмите и обновите страницу" или всплывающее окно "Вы дествительно хотите очистить список желаний? Да/Нет ) только пока незнаю как...
...