Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   1$ Нужен скрипт изменения цен в прайсе на определенный процент (https://javascript.ru/forum/dom-window/61986-1%24-nuzhen-skript-izmeneniya-cen-v-prajjse-na-opredelennyjj-procent.html)

Pobedill 19.03.2016 13:34

1$ Нужен скрипт изменения цен в прайсе на определенный процент
 
Есть html прайс, в котором все цены записаны в span. Например:
<span>8 грн/м²</span>
Нужно увеличить все цены в html коде, например на 20%.
И чтоб округлялось в большую сторону. Например 8+20%=9.60, значит 10. Реально ли сделать какой-то скрипт, в который можно прописать % и при запуске изменить все цены на странице?

рони 19.03.2016 14:15

Pobedill,
а можно так
<span data-num="8">8 грн/м²</span>

Pobedill 19.03.2016 15:59

осталось найти пример, где все data-num умножаются на определенное число

рони 19.03.2016 16:19

Pobedill,
осталось сказать подходит вариант или нет и написать пяток спанов для примера

Pobedill 19.03.2016 16:47

Подойдет ли, я не знаю.. Мне главное поменять цены в один клик.
Спаны с разными единицами измерения. Например:
<span>120 грн/т.</span>
<span>5.50 грн/км</span>
<span>180 грн/м³</span>
<span>3.25 грн/шт.</span>
<span>от 160 грн/м.п</span>
<span>8 грн/меш.</span>
<span>10 грн/м²</span>
<span>70 грн/компл.</span>


Как видим, иногда встречаются цены через точку или начинаются со слов "от".

Класс стилей для спанов .accordion_trigger20 span

рони 19.03.2016 17:07

Цитата:

Сообщение от Pobedill
Подойдет ли, я не знаю..

ой... а кому знать-то? это работа сервера в целом, а не js ... но если хочется, то облечите работу запишите в дата что нужно

рони 19.03.2016 17:10

Pobedill,
у вас что все спаны с цифрами только, может класс им какой добавить?

рони 19.03.2016 17:22

Pobedill,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
  <script>
   $(function(){
       var percent = 20;
       $('span').each(function(indx, element){
           var text = $(this).text();
               text = text.replace(/\d+(.\d+)?/, function(num) {return Math.round(num*(100+percent)/100)}) ;
               $(this).text(text)
             });
   })
  </script>
</head>

<body>
<span>120 грн/т.</span>
<span>5.50 грн/км</span>
<span>180 грн/м³</span>
<span>3.25 грн/шт.</span>
<span>от 160 грн/м.п</span>
<span>8 грн/меш.</span>
<span>10 грн/м²</span>
<span>70 грн/компл.</span>

</body>

</html>

Pobedill 19.03.2016 19:01

Присвоил класс для этих спанов. Цены поменялись. Но только цена 2 грн не изменилась. Видимо округлило в меньшую сторону. А хотелось бы чтобы 2.20 округлило к 3 грн.

рони 19.03.2016 19:19

Цитата:

Сообщение от Pobedill
И чтоб округлялось в большую сторону.

исправьте пожалуйста скрипт в 8 посте, я там немного ошибся :) ... напишите что нужно исправить?


Часовой пояс GMT +3, время: 04:11.