Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2009, 09:25
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

Замена значений ячеек таблицы.
Здравствуйте. есть у меня таблица. в ней есть поля "название", "цена".
Цена - в рублях. Мне нужно, чтобы при каком-то действии происходил пересчет цены в другую валюту ну и соответственный вывод цифирь в нужную ячейку.

Курс валюты тоже содержится в отдельной табличке в своей ячейке.
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2009, 10:20
...
Отправить личное сообщение для Zibba Посмотреть профиль Найти все сообщения от Zibba
 
Регистрация: 13.10.2008
Сообщений: 225

Блин, мало того что последнее время перестали просто вопросы задавать, а нагло просить сделать работу за них, так еще и задачу описывают методом "Сделай то не знаю что, но что бы работало!". Подробнее нельзя!? С примером таблицы и т.д.!? А то после такого описания задачи, не то что желание помочь пропадает, даже разбираться что вы хотите (да какой там разбираться, скорее гадать).
Ответить с цитированием
  #3 (permalink)  
Старый 02.02.2009, 11:04
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

чувак. куда подробнее. Есть 2 таблички. В 1й таблице в одной из ячеек есть цифра. 36.

И есть 2я таблица. Содержит много строк и несколько ячеек в каждой строке. Одна ячейка в строке содержит некое число.

Так вот. Мне нужна какаянибудь функция, чтобы по нажатии на кнопку или ссылку или еще чего происходила замена значений ячеек с числом во 2й таблице. Замена такая "ячейка 2я таблица / ячейка 1й таблицы".

Ну грубо говоря 24000/36
Ответить с цитированием
  #4 (permalink)  
Старый 02.02.2009, 11:26
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Сообщение от madgals
Мне нужна какаянибудь функция, чтобы по нажатии на кнопку или ссылку или еще чего происходила замена значений ячеек с числом во 2й таблице.
Нужна - реализуй. Будут затыки - выкладывай код - поможем исправить ошибки.
Ответить с цитированием
  #5 (permalink)  
Старый 02.02.2009, 11:34
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

В общем вот пример
<table id="t">
    <tr><td>Текст</td><td>Текст</td><td>2890</td></tr>
    <tr><td>Текст</td><td>Текст</td><td>545</td></tr>
    <tr><td>Текст</td><td>Текст</td><td>4545</td></tr>
    <tr><td>Текст</td><td>Текст</td><td>4575</td></tr>
</table>

table.rows[0].cols[2].innerHTML=2890/28;
table.rows[1].cols[2].innerHTML=545/28;
table.rows[2].cols[2].innerHTML=4545/28;
table.rows[3].cols[2].innerHTML=4575/28;


Только этих td гораздо больше.
И каждое значение мне нужно помножить, скажем, на 28 и вывести уже обновленную ячейку.

Я так понимаю нужен цикл, но плохое знание javascript не позволяет мне просто так это реализовать.

мне нужно во первых узнать общее количество этих td, в которых содержатся числа, во вторых в цикле выполнить простую операцию деления и в конце чтобы вывелись обновленные значения.
Ответить с цитированием
  #6 (permalink)  
Старый 02.02.2009, 11:35
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

забыл
var table=document.getElementById("t");
Ответить с цитированием
  #7 (permalink)  
Старый 02.02.2009, 11:39
...
Отправить личное сообщение для Zibba Посмотреть профиль Найти все сообщения от Zibba
 
Регистрация: 13.10.2008
Сообщений: 225

Ну тогда как то вот так:

function operation(){
	var td1 = document.getElementById('table1').getElementsByTagName('td');
	var tr2 = document.getElementById('table2').getElementsByTagName('tr');
				
	var i = 0;				
	while(i < tr2.length){
		var td2 = tr2[i].getElementsByTagName('td');
		var value = parseFloat(td2[2].innerHTML) / parseFloat(td1[1].innerHTML)
		td2[2].innerHTML = value;
		i++;
	}				
}


<table id='table1' border="1">
	<tr>
		<td>какие то данные</td>
		<td>36</td>
		<td>какие то данные</td>
	</tr>
</table>
<br>
<table id='table2' border="1">
	<tr>
		<td>какие то данные</td>
		<td>какие то данные</td>
		<td>24000</td>
	</tr>
	<tr>
		<td>какие то данные</td>
		<td>какие то данные</td>
		<td>24000</td>
	</tr>
	<tr>
		<td>какие то данные</td>
		<td>какие то данные</td>
		<td>24000</td>
	</tr>
</table>
<br>
<span style="color:#99cc33" onclick="operation()">Замена</span>


Дальше уже додумаете или переделаете под свои нужды. Но идея примерно такая.
Ответить с цитированием
  #8 (permalink)  
Старый 02.02.2009, 11:45
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

уже помогли... не успел
Ответить с цитированием
  #9 (permalink)  
Старый 02.02.2009, 11:58
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

благодарю )
Ответить с цитированием
  #10 (permalink)  
Старый 02.02.2009, 15:05
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

что то я не пойму. с вашим вариантом все понятно. Я даже понял как он работает. Но вот сюда никак не могу перенести:
<script type="text/javascript">
function operation(){
    var td1 = document.getElementById('table1').getElementsByTagName('td');
    var tr2 = document.getElementById('color').getElementsByTagName('tr');
 
    var i = 0;                
    while(i < tr2.length){
        var td2 = tr2[i].getElementsByTagName('td');
        var value = parseFloat(td2[3].innerHTML) / parseFloat(td1[1].innerHTML)
        td2[3].innerHTML = value;
        i++;
    }                
}
</script>
</head>

<body>

<table id='table1' border="1">
    <tr>
        <td>какие то данные</td>
        <td>36</td>
        <td>какие то данные</td>
    </tr>
</table>
<br />
<table width='100%' id='color' border=0>    <tr><th>артикул</th> 
    <th>Наименование <a href=/pricelist/catalog.php?n_cat=314&o=1&b=1&back=1> 
        </th> 
    <th>&nbsp;</th> 
    <th>Цена</th><th>&nbsp;</th></tr><tr onmouseover="this.style.cursor='hand';"><td width='10%' align='center'><span class='font'>GEH-NX-CAL.BS</span>&nbsp;</td><td width='80%'>Корпус ATX  JET Computer Calypso (игровой/без блока/боковое окно /12cm вент/2usb/2audio/firewire) Black/Metall</td><td width='2%'>&nbsp;</td>
      <td width='14%' align='center'>4409.52</td> 
                    <td><a href=where.php?n=38431&n_cat=314&back=1><img src="images/AideSZ_0001.png" alt="Где?" border="0" /></a></td> 
              </tr><tr onmouseover="this.style.cursor='hand';"><td width='10%' align='center'><span class='font'>GEH-JCP-SPIDER.</span>&nbsp;</td><td width='80%'>Корпус ATX  JET Computer Spider (с термосенсором/без блока/боковое окно /12cm воздузовод) Black</td><td width='2%'>&nbsp;</td>
                <td width='14%' align='center'>3492.34</td> 
                    <td><a href=where.php?n=38427&n_cat=314&back=1><img src="images/AideSZ_0001.png" alt="Где?" border="0" /></a></td> 
              </tr><tr onmouseover="this.style.cursor='hand';"><td width='10%' align='center'><span class='font'> </span>&nbsp;</td><td width='80%'>Корпус ATX AOpen G528 Black-Silver 450W (USB,card reade, audio, 1394)</td><td width='2%'>&nbsp;</td>
                <td width='14%' align='center'>3393.38</td> 
                    <td><a href=where.php?n=38985&n_cat=314&back=1><img src="images/AideSZ_0001.png" alt="Где?" border="0" /></a></td> 
              </tr><tr onmouseover="this.style.cursor='hand';"><td width='10%' align='center'><span class='font'></span>&nbsp;</td><td width='80%'>Корпус ATX AOpen QF50C Silver-Black 350W P4</td><td width='2%'>&nbsp;</td>
                <td width='14%' align='center'>1656.73</td> 
                    <td><a href=where.php?n=34055&n_cat=314&back=1><img src="images/AideSZ_0001.png" alt="Где?" border="0" /></a></td> 
              </tr><tr onmouseover="this.style.cursor='hand';"><td width='10%' align='center'><span class='font'>DA-01WD-D</span>&nbsp;</td><td width='80%'>Корпус ATX Chieftec DA-01WD-D White 400W (с дверцей)</td><td width='2%'>&nbsp;</td>
                <td width='14%' align='center'>2849.87</td> 
                    <td><a href=where.php?n=29594&n_cat=314&back=1><img src="images/AideSZ_0001.png" alt="Где?" border="0" /></a></td> 
              </tr><tr onmouseover="this.style.cursor='hand';"><td width='10%' align='center'><span class='font'> </span>&nbsp;</td><td width='80%'>Корпус ATX Gigabyte GZ-AA3CB-SJB Poseidon 310 Black (без БП, 2xUSB)</td><td width='2%'>&nbsp;</td>
                <td width='14%' align='center'>3443.58</td> 
                    <td><a href=where.php?n=37939&n_cat=314&back=1><img src="images/AideSZ_0001.png" alt="Где?" border="0" /></a></td> 
              </tr><tr onmouseover="this.style.cursor='hand';"><td width='10%' align='center'><span class='font'>75917</span>&nbsp;</td><td width='80%'>Корпус ATX Gigabyte GZ-AX1CA-SDB Triton 180 Black w/o PSU </td><td width='2%'>&nbsp;</td>
                <td width='14%' align='center'>2909.69</td> 
                    <td><a href=where.php?n=32598&n_cat=314&back=1><img src="images/AideSZ_0001.png" alt="Где?" border="0" /></a></td> 
              </tr></table>
              <span style="color:#99cc33" onclick="operation()">Замена</span>
</body>
</html>

может я чего то не понимаю ???
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Автоматическая подсветка строк таблицы mihha Элементы интерфейса 5 01.02.2009 01:28
Добраться до ячеек таблицы через DOM twolf Events/DOM/Window 11 21.01.2009 17:29
Фиксированный заголовок таблицы ilshat Элементы интерфейса 6 20.12.2008 00:35