James Allan Ответов: 0

Jquery не обновляет мое значение PHP, когда пользователь выбирает опцию выпадающего списка


У меня есть два выпадающих списка для каждого продукта в моей корзине.

посмотрите мой пользовательский интерфейс


Когда я выбираю оба варианта, мой класс успеха не обновляет стоимость. Он обновляется только тогда, когда я обновляю страницу, Я не хочу обновлять свою страницу, чтобы получить стоимость.

Что я уже пробовал:

$(document).ready(function() {
  $('.fabric, .size').on('change', sendData);
  function sendData() {
  var id = $(this).data("id");
  var fabricID = $('.fabric[data-id=' + id +']').val(); 
  var sizeID   = $('.size[data-id=' + id +']').val();
    if ( fabricID !== "" && sizeID !== "") {
      $.ajax({
            type     : 'GET',
            url      : 'calculates.php',
            dataType : 'json',
            data     : {
                prod_id:id,
                fabric_id: fabricID,
                size_id: sizeID
            }
        }).done(function(data) {
            $('.cost' + id).text(data.val);
            $('.subtotal' + id).load(data.val);
         });
      }
  }
});


это то место, где я пытаюсь обновить, когда пользователь выбирает свои параметры продукта

'.$value.' R$: '.$_SESSION['icms'.$id].' R$: '.$value * $_SESSION['icms'.$id] .'>

My $value holds the quantity of my product. And other problem that i'm getting is when i click in my plus and remove button,i don't get my subtotal to updated either.

And this script handles my $value to keep updating when i click on my button.

<pre lang="JavaScript">$('.actions').click(function(e){
  e.preventDefault();
  var action = $(this).attr('data-action'); 
  var id = $(this).attr('product_id');
  var cost_id = $(this).data("id");
  console.log("triggered action " + action + " for product " + id); //debugging
  $.ajax({
    url: 'cart_functions.php',
    type : 'GET',
    data: {action:action,prod_id:id},
    dataType: 'json',
    success: function(data)
    {
      console.log("ajax call returned the following: " + JSON.stringify(data)); //debugging
      if (data.result == "success") {
        if (action == "plus" || action == "remove")
        {
          console.log("identified product td for " + id + ": " + $(".product" + id).length); //debugging
          $(".product" + id).text(data.val);
          $(".subtotal" + cost_id).text(data.val);
          //update the UI with the new total
        }

Итак, как вы можете видеть, я использовал в обоих сценариях свой промежуточный итог класса. Таким образом, он может обновляться, когда я нажимаю кнопку "плюс" или "удалить", а при выпадающем выборе изменяется промежуточный итог и стоимость каждого продукта. Почему мой jquery не обновляет мою стоимость и промежуточный итог?
Я все еще нуб в jquery. Пожалуйста, помогите.

ZurdoDev

Поставьте точку останова и отладьте ее.

0 Ответов