Как кнопку «Добавить в корзину» изменить текст «Добавлено» после ajax успеха - PullRequest
0 голосов
/ 30 января 2020

Я недавно php разработчик, я работал над функциональностью корзины покупок. «Добавить в корзину» данные успешно сохранены в таблице базы данных. Но текст кнопки «Добавить в корзину» не изменился. Как решить проблему. Пожалуйста, помогите.

Jquery:

var addedCart = 0;

  function advAddtocart(a_id){

    if (addedCart==1) {
      $("#paymentCart_"+a_id).html('Added');
    }

    var $this = $("#paymentCart_"+a_id);

    $($this).buttonLoader('start');
    setTimeout(function () {
        $($this).buttonLoader('stop');
    }, 3000);


    $("#paymentCart_"+a_id).attr("disabled", true);

    var id = $('.tour_reference'+a_id).attr('rel');
    var name = $('.tour_reference'+a_id).val();
    var service_type = $('.service'+a_id).val();
    var price = $('.rate'+a_id).attr('rel');
    var rfq_id = $('.quote_id'+a_id).val();
    var client_id = $('.user_id'+a_id).attr('rel');
    var service_id = $('.rfc_id'+a_id).attr('rel');

    // var service = service_type.toLowerCase().replace(/[^A-Z0-9]+/ig, "_");


    var data = {
      id : a_id ,
      reference : name,
      service_type : service_type,
      actual: price,
      amount : price,
      flag : 0,
      rfqId : rfq_id,
      clientid : client_id,
      serviceId : service_id
    }

    $.ajax({
        type: "POST",
        url: absolute1 + 'cart/add_cart',
        data: data,
        success: function (response) {
          addedCart=1;
          $.toast({
            heading: 'Success',
            text: 'Service successfully added in cart',
            showHideTransition: 'slide',
            icon: 'success',
            loaderBg: '#f96868',
            position: 'top-right'
          });
          // $("#paymentCart_"+a_id).attr("disabled", true);
          $("#paymentCart_"+a_id).html('Added');
           $(".cartcount").text(response);
        }
    });
  }

Кнопка

<button title="Pay Now" type="button" data-id="<?=$addToCart?>" id="paymentCart_<?=$addToCart;?>" class="btn btn-primary btn-icon btnAddAction refresh-me add-to-cart cart-action has-spinner" style="padding: 0;width:95px; height:30px;" onclick="javascript:advAddtocart(<?=$addToCart;?>)">Add to Cart</button>

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Вы пытаетесь изменить текст кнопки, используя класс «.cartcount», но в классе кнопок такого класса «.cartcount» нет. Почему бы не использовать идентификатор кнопки?

$('#btn-id').text('TEXT HERE');
0 голосов
/ 30 января 2020

absolute1 переменная не определена, определите ее перед ajax вызовом

и попробуйте добавить обработчик ошибок для ajax

.error(function(e){
   console.log(e);
});

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