@AndreyBLG

Как с помощью js получить значение атрибута href одной ссылки и присвоить его другой?

Привет
Несколько секций с разными товарами, в секции две кнопки "купить" и "в корзину".
Товары разные, соответственно атрибут href у кнопок "в корзину" разный.

Как с помощью js скопировать значение атрибута href кнопки "в корзину" в href кнопки "купить" с учетом их родительской секции?
Т.е. так, чтобы при клике на "купить" товар добавлялся в корзину!

Идея в том, чтобы после добавления товара в корзину кнопкой "купить" затем редиректнуть на страницу заказа, а поведение кнопки "в корзину" оставить без изменений, т.е. просто добавить в корзину.

<section class="buy_and_to_card">
   <a href="" class="checkout-button">купить</a>
   <a href="/?add-to-cart=103" class="checkout-button">в корзину</a>
</section>

<section class="buy_and_to_card">
   <a href="" class="checkout-button">купить</a>
   <a href="/?add-to-cart=111" class="checkout-button">в корзину</a>
</section>
  • Вопрос задан
  • 1197 просмотров
Решения вопроса 1
@sunrails
Если делать проще:
<section class="buy_and_to_card">
   <a href="/?add-to-cart=111" class="checkout-button checkout-button-buy">купить</a>
   <a href="/?add-to-cart=111" class="checkout-button">в корзину</a>
</section>

$('checkout-button').on('click', function() {
// отправляем ajax запрос на добавление
// при success проверяем есть ли класс checkout-button-buy у элемента и решаем что дальше делать
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
vruzin
@vruzin
Проще всего использовать jquery:
$(document).on( "click", 'a.checkout-button', function(e){
         // Скрипт добавления в корзину.
        e.preventDefault(); // отключение перехода по ссылке
});


В Вашем коде рекомендую сделать вид вот такой:
<section class="buy_and_to_card">
   <a href="" class="checkout-button">купить</a>
   <a href="/?add-to-cart=103" class="checkout-button add-button">в корзину</a>
</section>


тогда javascript будет
$(document).on( "click", 'a.checkout-button', function(e){
         switch(true){
                  case ($(this).is('.add-button')): // Тут код для действия "в корзину". $(this).attr('href') даст значение ссылки
                  break;
                  default: //Тут код для действия "купить"
         }
         e.preventDefault();
});
Ответ написан
Ваш ответ на вопрос

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

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