Показать сообщение отдельно
  #15 (permalink)  
Старый 15.08.2016, 16:29
Аватар для Stay_Strong
Аспирант
Отправить личное сообщение для Stay_Strong Посмотреть профиль Найти все сообщения от Stay_Strong
 
Регистрация: 14.10.2015
Сообщений: 37

Сделал в конечном счет вот так:
HTML
<div class="product-cart__price">Цена: 
<span class="price-val" data-price="890,821,751,709,695,688">890</span>
<span class="ruble"> руб.</span>
</div>
<div class="product-cart__number number">
<span class="minus">&ndash;</span>
<input class="count" type="text" value="1">
<span class="plus">+</span>
</div>

JS
/*Переключение количества товаров и цены*/
  function OutputPrices() {
    var input = $('.count');
    var price = $('.price-val');
    var priceObject = $('.price-val').attr('data-price').split(','); //получаем все значения из data-prices и преобразуем их в массив
    //Выводим цену в зависимости от количества
    if (input.val() < 20) {
      price.text(parseInt(input.val()) * priceObject[0]); //Количество менее 20
    };
    if (input.val() >= 20 && input.val() < 50) {
      price.text(parseInt(input.val()) * priceObject[1]); //Количество в диапазоне от 20 до 50
    };
    if (input.val() >= 50 && input.val() < 100) {
      price.text(parseInt(input.val()) * priceObject[2]); //Количество в диапазоне от 50 до 100
    };
    if (input.val() >= 100 && input.val() < 500) {
      price.text(parseInt(input.val()) * priceObject[3]); //Количество в диапазоне от 100 до 500
    };
    if (input.val() >= 500 && input.val() < 1000) {
      price.text(parseInt(input.val()) * priceObject[4]); //Количество в диапазоне от 500 до 1000
    };
    if (input.val() >= 1000) {
      price.text(parseInt(input.val()) * priceObject[5]); //Количество более 1000
    };
    return false;
    // Окончание секции "Выводим цену в зависимости от количества"
  };
	//Изменение цены при нажатии на "минус"
  $('.minus').click(function () {
      var input = $(this).parent().find('input');
      var count = parseInt(input.val()) - 1;
      count = count < 1 ? 1 : count;
      input.val(count);
      OutputPrices()
  });
  //Изменение цены при нажатии на "плюс"
  $('.plus').click(function () {
    var input = $(this).parent().find('input');
    var price = $(this).parents('.catalog-part__text, .product-cart__text').find('.price-val');
    input.val(parseInt(input.val()) + 1); //увеличиваем значение input на 1
    OutputPrices()
  });
 //Отслеживаем изменение инпута при помощи мыши, и меняем цену
 $('.number input').change(function(){
  OutputPrices()
  return false;
 });
/*Окончание секции "Переключение количества товаров и цены"*/

Последний раз редактировалось Stay_Strong, 15.08.2016 в 16:31.
Ответить с цитированием