Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Сумма значений в строке таблицы (https://javascript.ru/forum/library-toolkit-framework/72526-summa-znachenijj-v-stroke-tablicy.html)

LaVASHik 04.02.2018 22:44

Сумма значений в строке таблицы
 
Здравствуйте, в JS совсем почти не шарю. Но очень нужен скрипт. Уже перелюбил голову. К сути.
Есть строка таблицы:
<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">
			<tbody>
				<tr>
					<td>UKR</td>
					<td name="01" id="01_01">
						0</td>
					<td name="01" id="01_02">
						1</td>
					<td name="01" id="01_03">
						2</td>
					<td name="01" id="01_04">
						3</td>
					<td name="01" id="01_05">
						&nbsp;</td>
					<td name="01" id="01_06">
						&nbsp;</td>
					<td name="01" id="01_07">
						&nbsp;</td>
					<td name="01" id="01_08">
						&nbsp;</td>
					<td name="01" id="01_09">
						&nbsp;</td>
					<td name="01" id="01_10">
						&nbsp;</td>
					<td name="01" id="01_11">
						&nbsp;</td>
					<td name="01" id="01_12">
						&nbsp;</td>
					<td id="S1">
						&nbsp;</td>
				</tr>
			</tbody>
		</table>

Значение внутри <td> изменяется таким образом:
<script type="text/javascript">document.getElementById("01_01").innerHTML="1";</script>

Нужно чтобы сумма значений из <td> с атрибутом name="01" выводилась в <td> c атрибутом id="S1". Причем нужно чтобы все происходило автоматически.
Заранее спасибо за помощь!

j0hnik 04.02.2018 23:14

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<table border="1" cellpadding="1" cellspacing="1" style="width: 200px;">
			<tbody>
				<tr>
					<td>UKR</td>
					<td name="01" id="01_01">
						0</td>
					<td name="01" id="01_02">
						1</td>
					<td name="01" id="01_03">
						2</td>
					<td name="01" id="01_04">
						3</td>
					<td name="01" id="01_05">
						&nbsp;</td>
					<td name="01" id="01_06">
						&nbsp;</td>
					<td name="01" id="01_07">
						&nbsp;</td>
					<td name="01" id="01_08">
						&nbsp;</td>
					<td name="01" id="01_09">
						&nbsp;</td>
					<td name="01" id="01_10">
						&nbsp;</td>
					<td name="01" id="01_11">
						&nbsp;</td>
					<td name="01" id="01_12">
						&nbsp;</td>
					<td id="S1">
						&nbsp;</td>
				</tr>
			</tbody>
		</table>
		<script>
			document.querySelector('#S1').textContent = [].reduce.call(document.querySelectorAll('td[name="01"]'),(sum, cur)=>sum+cur.textContent*1,0);
		</script>
	
</body>
</html>

j0hnik 04.02.2018 23:24

скрипт должен быть ниже, чем ваши которые меняют!
если меняются по событию, добавьте в то же событие.


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