Как сделать правильные окончания слов?

90
02 февраля 2022, 08:10

Как сделать правильные окончания слов, например: 1 товар, 2 товара, 5 товаров и т. д.
Сейчас на данный момент написан скрипт просто вывода все значения в слово "товар", строка.

В шапке количество товаров

<script> 
  $(document).ready(function() { 
    var BasketItems = $('.basket-small-fly .text_number').text(), 
      BasketCost = $('.basket-small-fly .basket-coupon-block-total-price-current').text(); 
    $('#win8_wrapper').hide() 
    $('.dropdown-block').click(function() { 
      if ($('.dropdown-list', this).hasClass('active')) { 
        $('i', this).removeClass('fa-caret-up').addClass('fa-caret-down'); 
        $('.dropdown-list', this).slideUp(0); 
        $('.dropdown-list', this).removeClass('active'); 
      } else { 
        $('i', this).removeClass('fa-caret-down').addClass('fa-caret-up'); 
        $('.dropdown-list', this).slideDown(300); 
        $('.dropdown-list', this).addClass('active'); 
      } 
    }); 
    $('.dropdown-list li').click(function() { 
      var count_item = $('.count-item', this).text(); 
      $('li.selected .count-item').text(count_item); 
      var item_id = $(this).closest('.item-block').attr('data-id'); 
      changeItemBasket(item_id, count_item); 
 
    }); 
    //Проверка промокода 
    $('.one_click_buy_id_coupon-button').click(function() { 
      var coupon = $('#one_click_buy_id_coupon').val(); 
      $.ajax({ 
        url: "/include/ajax-basket/oneclick_addcoupon.php", // куда отправляем 
        type: "post", // метод передачи 
        dataType: "json", // тип передачи данных 
        data: { 
          "coupon": coupon 
        }, 
        // после получения ответа сервера 
        success: function(data) { 
          $('.coupon-answer').html(''); 
          $('.coupon-answer').html(data.result); // выводим ответ сервера 
        } 
      }); 
    }); 
    $('.cart-val').text(BasketItems + " товар"); //В шапке количество товаров 
    $('.summ-val').text(BasketCost); //В шапке стоимость корзины 
    if (BasketCost == "") { 
      $('.summ-val').text("0 рублей"); 
    } 
    $('.like-val').text(<?=$CountWishBasket?>); //В шапке количество избранных 
  }); 
 
</script>

Answer 1

То есть вы имеете ввиду склонение слова, по определенному количеству товара?

function morph(int, array) {
    return (array = array || ['товар', 'товара', 'товаров']) && array[(int % 100 > 4 && int % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][(int % 10 < 5) ? int % 10 : 5]];
}
console.log(morph(1)); // товар
console.log(morph(2)); // товара
console.log(morph(5)); // товаров

Склоняться будет так:
товар - 1, 21, 31, 41, 51 ... и т. д.
товара - 2, 3, 4, 22, 23, 24, 32 ... и т. д.
товаров - 0, 5, 6, 7, 8, 9, 10-20 ... и т. д.

READ ALSO
подключение к localhost через браузер по websocket python

подключение к localhost через браузер по websocket python

Не могу решить проблему: есть серверная часть websocet реализованная на python и клиентская часть на JSВсе работает при отдельном запуске сервера...

295
Оптимизация Drag and Drop

Оптимизация Drag and Drop

Вычитал на сайте о оптимизации Drag and Dorp в javascriptНе знаю, как реализовать

215
Chrome Extension

Chrome Extension

Я в отчаянии, оно теперь даже ошибки не выдаётНужно чтобы расширение меняло 1 символ на другой

155
Как скролить div с помощью touchmove?

Как скролить div с помощью touchmove?

Мне нужно сделать скрол для div c помощью touchmoveВот что сейчас сделал

69