Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Live Price Update


zik920

Recommended Posts

Подскажите кто знаток в этом, есть скрипт и котроллер. Все работает замечательно, цена меняется, но когда я через +- (тоже скрипт) меняю количество, скрипт не срабатывает, кто-то может подправить? 

//--></script> 
<script type="text/javascript"><!--
$(document).on('click', '.number-spinner button', function () {    
  var btn = $(this),
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
    newVal = 1;
      
  if (btn.attr('data-dir') == 'up') {
    newVal = parseInt(oldValue) + 1;
  } else {
    if (oldValue > 1) {
      newVal = parseInt(oldValue) - 1;
    } else {
      newVal = 1;
    }
  }
  btn.closest('.number-spinner').find('input').val(newVal);
});
//--></script>


 

<script type="text/javascript"><!--
              $(document).ready(function() {
                $('#input-quantity').on('keyup', function() {
                  var currency =" {{ price }}";
                  var price = Number(currency.replace(/[^0-9\.-]+/g,""));
                  var qty = $(this).val();
                  var total = price * qty;
                  var priceText = $('#input-quantity').closest("#content").find("h2");
                  $.ajax({
                    url: 'index.php?route=product/product/pricetocurr',
                    type: 'get',
                    data:{'price': total},
                    dataType: 'json',
                    beforeSend: function() {
                      priceText.fadeOut();
                    },
                    complete: function() {
                    },
                    success: function(json) {
                      setTimeout(function(){
                          priceText.text(json['curr']);
                       }, 300);  // The millis to wait before executing this block
                      priceText.fadeIn();
                    }
                  });
                });
              });
            //--></script>
 public function pricetocurr() {

          		$json = array();
          		if(isset($this->request->get['price']) && is_numeric($this->request->get['price']) ) {
          			$curr = $this->currency->format($this->request->get['price'], $this->session->data['currency']);
          			$json['curr'] = $curr;
          		} else {
          			$json['error'] = 'error data';
          		}
          		$this->response->addHeader('Content-Type: application/json');
          		$this->response->setOutput(json_encode($json));
          	}

 

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Попробовал так, все заработало, но начинает считать с 3 и считает как *2, где ошибка?
 

<script type="text/javascript"><!--
               $(document).ready(function() {
                $('.input-group-btn-my').on('click', function() {
                  var currency ="{{ price }}";
                  var price = Number(currency.replace(/[^0-9\.-]+/g,""));
                  var qty = $('#input-quantity').val();
                  var total = price * qty;
                  var priceText = $('#input-quantity').closest("#content").find("h2");
                  $.ajax({
                    url: 'index.php?route=product/product/pricetocurr',
                    type: 'get',
                    data:{'price': total},
                    dataType: 'json',
                    beforeSend: function() {
                      priceText.fadeOut();
                    },
                    complete: function() {
                    },
                    success: function(json) {
                      setTimeout(function(){
                          priceText.text(json['curr']);
                       }, 300);  // The millis to wait before executing this block
                      priceText.fadeIn();
                    }
                  });
                });
              });
            //--></script>

 

Змінено користувачем zik920
Надіслати
Поділитися на інших сайтах


Все, нашел ошибку, она была не в этом скрипте, а в value +- 
Это 

<script type="text/javascript"><!--
$(document).on('click', '.number-spinner button', function () {    
  var btn = $(this),
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
    newVal = 1;
      
  if (btn.attr('data-dir') == 'up') {
    newVal = parseInt(oldValue) + 1;
  } else {
    if (oldValue > 1) {
      newVal = parseInt(oldValue) - 1;
    } else {
      newVal = 1;
    }
  }
  btn.closest('.number-spinner').find('input').val(newVal);
});
//--></script>


заменил на это 
 

<script type="text/javascript">
        $(document).ready(function() {
            $('.minus').click(function () {
                var $input = $(this).parent().find('input');
                var count = parseInt($input.val()) - 1;
                count = count < 1 ? 1 : count;
                $input.val(count);
                $input.change();
                return false;
            });
            $('.plus').click(function () {
                var $input = $(this).parent().find('input');
                $input.val(parseInt($input.val()) + 1);
                $input.change();
                return false;
            });
        });
    </script>


Теперь все работает идеально.

Надіслати
Поділитися на інших сайтах


  • 2 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.