Javascript.RU

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

Обновление цены в прайсе по курсу валют
Добрый день всем! Только начал изучать js и столкнулся с проблемой: я хочу сделать прайс с ценами в рублях. Но в таблице у меня прописаны цены в евро. Хотелось бы вводить один раз курс и чтобы все цены менялись автоматом. Хотел использовать такой код:
var kurs=50;
$('table tr').has('td').each(function() {
    var arrayItem = {};
    $('td', $(this)).each(function(index, item) {
      
      console.log($(item).html(kurs*1.3+""+$(item).html()));
    });
    
});


но не вышло. Так как он добавляет к каждой ячейке значение. А мне нужно чтобы просто было перемножен курс на значение в таблице когда пользователь заходит на страницу.

Сама таблица:
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
<table>
    <tr>
        <td colspan="6">шапка</td>
    </tr>
    <tr>
        <td colspan="6">сопутствующие материалы для черепицы</td>
    </tr>
    <tr>
        <td><div>наименование</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>цена</td>
    </tr>
    <tr>
        <td>armourvent standart</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>13,91</td>
    </tr>
    <tr>
        <td>armourvent special</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>21,16</td>
    </tr>
    <tr>
        <td>aerpixies</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>7,42</td>
    </tr>
    <tr>
        <td>armourvent multi</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>95,41</td>
    </tr>
    <tr>
        <td>armourvalley</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>11,55</td>
    </tr>
    <tr>
        <td>superg lass new  cambridge</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>45,45</td>
    </tr>
    <tr>
        <td>quick ridge</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>76,72</td>
    </tr>
    <tr>
        <td><div>cambridge</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>38</td>
    </tr>
    <tr>
        <td><div>hip and ridge12</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>62,52</td>
    </tr>
    <tr>
        <td>armourbase pro</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>3,43</td>
    </tr>
    <tr>
        <td>armourbasestick</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>7,77</td>
    </tr>
    <tr>
        <td>гвозди</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>3,8</td>
    </tr>
    <tr>
        <td>armourvent sanitary</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>95,27</td>
    </tr>
    <tr>
        <td>shingle stick</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>5,24</td>
    </tr>
    <tr>
        <td>plastal stick</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>5,24</td>
    </tr>
    <tr>
        <td>plastal</td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td>38,5</td>
    </tr>
    <tr>
        <td colspan="6">цены указаны на 01.03.2014</td>
    </tr>
</table>
</body>
</html>


Помогите, пожалуйста, разобраться с этой задачей
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2014, 19:56
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

Задай ячейкам с ценами класс .price.
И делай как-то так:
<!DOCTYPE HTML>
<html>
<head>
	<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
	<title>test</title>
</head>
<body>
<div class="price">1</div>
<div class="price">2</div>
<div class="price">3</div>
<div class="price">4</div>
<div class="price">5</div>
<div class="price">6</div>
<div class="price">7r</div>
<div class="price">8</div>
<div class="price">9</div>
<div class="price">10</div>
<script>
$(function(){
$('.price').each(function(){
    $(this).text(parseFloat($(this).text())*10);
})
});
</script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2014, 11:20
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от Olger
Но в таблице у меня прописаны цены в евро.
Если бы у вас - вы бы поменяли на рубли там, откуда валятся евро.
Ответить с цитированием
  #4 (permalink)  
Старый 28.02.2014, 15:31
Новичок на форуме
Отправить личное сообщение для Olger Посмотреть профиль Найти все сообщения от Olger
 
Регистрация: 27.02.2014
Сообщений: 6

[quote=Zuenf;299887]Спасибо получилось! Но некоторые значение выходят очень длинными, можно результат округлить до двух чисел после запятой? Я знаю, что есть alert(.toFixed(2)), но как ее правильно задать в данном варианте?
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2014, 20:05
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

Сообщение от Olger Посмотреть сообщение
Как ее правильно задать в данном варианте?
<!DOCTYPE HTML>
<html>
<head>
	<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
	<title>test</title>
</head>
<body>
<div class="price">1</div>
<div class="price">2</div>
<div class="price">3</div>
<div class="price">4</div>
<div class="price">5</div>
<div class="price">6</div>
<div class="price">7r</div>
<div class="price">8</div>
<div class="price">9</div>
<div class="price">10</div>
<script>
$(function(){
$('.price').each(function(){
    $(this).text((parseFloat($(this).text())*1.66).toFixed(2));
})
});
</script>
</body>
</html>
Ответить с цитированием
Ответ



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

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