Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.06.2016, 14:05
Новичок на форуме
Отправить личное сообщение для dasistwas Посмотреть профиль Найти все сообщения от dasistwas
 
Регистрация: 29.06.2016
Сообщений: 3

Конвертер цены (валют) на javascript
Есть HTML:
<div class="price">
                547 300руб.                <br />
</div><div class="price1"></div>


Нужно чтобы было так:
<div class="price">
                547 300руб.                <br />
</div><div class="price1">54,73руб</div>


Пытался сделать так:
$(function(){
      $each(function(){
	  var summ1 = document.getElementByClass('price1').innerHTML / 10000;
//как-то нужно сделать округление до двух знаков после запятой...
			document.getElementByClass('price1').innerHTML = summ1;

            });
});

Код не работает, т.к. в нем куча синтаксических ошибок. Знатоки, исправьте, плиз.
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2016, 14:48
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

for (var i = 0; i < document.getElementsByClassName('price').length; i++) {
  var a = document.getElementsByClassName('price')[i].innerText.replace(/\D/g, ''),a = +a / 10000;
  document.getElementsByClassName('price')[i].nextElementSibling.innerText = a.toString().replace('.', ',')+'руб.';
}
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2016, 15:56
Новичок на форуме
Отправить личное сообщение для dasistwas Посмотреть профиль Найти все сообщения от dasistwas
 
Регистрация: 29.06.2016
Сообщений: 3

Rasy, не получилось у меня с твоим кодом, я реализовал вот так (через document.getElementById):
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
$(function(){
var summ_old = document.getElementById('txt2').innerHTML;
summ_old=summ_old.replace(/\s+/g,'');
var summ_old1 = parseFloat(summ_old);
var summ_new = summ_old1 / 10000;
document.getElementById('txt3').innerHTML = summ_new +'руб';
});
  </script>
</head>

<body>
<div id="txt2">2 447 800руб</div>
<div id='txt3'></div>

</body>

</html>

Как реализовать через document.getElementsByClassName?
Ответить с цитированием
  #4 (permalink)  
Старый 29.06.2016, 16:09
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от dasistwas
Rasy, не получилось у меня с твоим кодом,
<body>
<div class="price">
                547 300руб.                <br />
</div><div class="price1"></div>


Нужно чтобы было так:
<div class="price">
                547 300руб.                <br />
</div><div class="price1">54,73руб</div>


<script>
for (var i = 0; i < document.getElementsByClassName('price').length; i++) {
  var a = document.getElementsByClassName('price')[i].innerText.replace(/\D/g, ''),a = +a / 10000;
  document.getElementsByClassName('price')[i].nextElementSibling.innerText = a.toString().replace('.', ',')+'руб.';
}


</script>

</body>


Сообщение от dasistwas
Как реализовать через document.getElementsByClassName?
Задать элементу класс.
Ответить с цитированием
  #5 (permalink)  
Старый 29.06.2016, 16:54
Новичок на форуме
Отправить личное сообщение для dasistwas Посмотреть профиль Найти все сообщения от dasistwas
 
Регистрация: 29.06.2016
Сообщений: 3

Вот почему не работало - скрипт должен был выполняться после открывающего тега body (т.к. getElementsByClassName должен быть в теле документа? А getElementById может быть и в head, необязательно в body?)
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<div class="price">
                547 300руб.                <br />
</div><div class="price1"></div>
<script>
for (var i = 0; i < document.getElementsByClassName('price').length; i++) {
  var a = document.getElementsByClassName('price')[i].innerText.replace(/\D/g, ''),a = +a / 10000;
  document.getElementsByClassName('price')[i].nextElementSibling.innerText = a.toString().replace('.', ',')+'руб.';
}
</script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 29.06.2016, 17:13
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Функция обратного вызова javascript
dasistwas,
Скрипт может быть и в head, но тогда на объект window вешается слушатель, для обработки события загрузки дерева документа.

window.addEventListener('DOMContentLoaded', init);

function init() {
  console.log('success');
  // тут вызывается код...
}
Ответить с цитированием
  #7 (permalink)  
Старый 30.06.2016, 19:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

547 300руб. = 54,73руб - а где валюты то? Это не конвертация, а либо чудовищная инфляция, либо баг вывода сервера. )
Ответить с цитированием
  #8 (permalink)  
Старый 30.06.2016, 20:15
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

В Беларуси деноминация, больше не миллионеры.
Ответить с цитированием
  #9 (permalink)  
Старый 30.06.2016, 20:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Значит в базе нужно это сделать единожды.
Ответить с цитированием
  #10 (permalink)  
Старый 30.06.2016, 20:34
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

тогда две цены выводить, пока люди не привыкнут
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертер валют shvedovov Элементы интерфейса 6 07.05.2016 17:13
Обновление цены в прайсе по курсу валют Olger Общие вопросы Javascript 4 28.02.2014 20:05
Существует ли скрипт слайдера цены на "чистом" Javascript? Allality Общие вопросы Javascript 10 11.08.2012 00:49
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34