Javascript.RU

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

Как сложить все ячейки в каждом столбце?
Здравствуйте всем.
Я еще только начинаю учить js и попрошу сразу не кидаться камнями.
Мне нужен простой скрипт, который будет брать все значения ячеек из таблицы и суммировать их в столбцах. Иными словами мне нужно получить суммы каждого из столбцов таблицы и вывести их через div.

<!DOCTYPE>
<html>
<head></head>
<body>
	<table class="journal" id="main" >
		<tbody>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
		</tbody>
	</table>

	<div class="val-1"></div> // Значение суммы единиц
	<div class="val-2"></div> // Значение суммы двоек
	<div class="val-3"></div> // Значение суммы троек
	<div class="val-4"></div> // Значение суммы четверок
	<div class="val-5"></div> // Значение суммы пятерок

</body>
</html>


Помогите, пожалуйста

Последний раз редактировалось Chamus, 21.04.2014 в 13:49.
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2014, 13:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Chamus,
может для начала tbody в table вместо div
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2014, 13:50
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Сообщение от рони Посмотреть сообщение
Chamus,
может для начала tbody в table вместо div
Да. Спасибо за замечание.
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2014, 14:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Chamus,
<!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 () {
          $("div").each(function (indx) {
              var sum = 0;
              $("td:nth-child(" + (indx + 1) + ")", "#main").each(function () {
                  sum += +$(this).text()
              });
              $(this).text(sum)
          });
      })
  </script>
</head>

<body>
<table class="journal" id="main" >
		<tbody>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
		</tbody>
	</table>

	<div class="val-1"></div> // Значение суммы единиц
	<div class="val-2"></div> // Значение суммы двоек
	<div class="val-3"></div> // Значение суммы троек
	<div class="val-4"></div> // Значение суммы четверок
	<div class="val-5"></div> // Значение суммы пятерок
</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2014, 14:47
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Thanks!
Ответить с цитированием
  #6 (permalink)  
Старый 21.04.2014, 14:58
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

рони, не хочу наглеть, но спрошу еще кое-что

Вот ваша чудесная функция:
$(function () {
          $("div").each(function (indx) {
              var sum = 0;
              $("td:nth-child(" + (indx + 1) + ")", "#main").each(function () {
                  sum += +$(this).text()
              });
              $(this).text(sum)
          });
      })


Помогите, пожалуйста, вывести результат в этой таблице. Эта таблица будет находиться снизу страницы. Каждая ячейка будет под соответствующим столбцом, в которой должна быть сумма значений этого столбца.
<table>
	<tbody>
		<tr id="roni">
			<td>Сумма первого столбца</td>
			<td>Сумма второго столбца</td>
			<td>Сумма третьего столбца</td>
			<td>Сумма четвертого столбца</td>
			<td>Сумма пятого столбца</td>
		</tr>
	</tbody>
</table>
Ответить с цитированием
  #7 (permalink)  
Старый 21.04.2014, 15:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Chamus,
$("div") поменять на $("#roni td")
Ответить с цитированием
  #8 (permalink)  
Старый 21.04.2014, 15:24
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

Сообщение от рони Посмотреть сообщение
Chamus,
$("div") поменять на $("#roni td")
Я забыл добавить, что количество столбцов у таблицы с классом journal неизвестно. У таблицы с id roni должно быть количество ячеек столько, сколько столбцов у таблицы с классом journal.
Ответить с цитированием
  #9 (permalink)  
Старый 21.04.2014, 15:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Chamus,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  td{
    width: 30px;
    text-align: center;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
      $(function () {
          $(".journal tr:first td").each(function (indx) {
              var sum = 0;
              $("td:nth-child(" + (indx + 1) + ")", ".journal").each(function () {
                  sum += +$(this).text()
              });
              $("<td/>",{text:sum}).appendTo("#test")
          });
      })
  </script>
</head>

<body>
<table class="journal" id="main" >
		<tbody>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
				<td>4</td>
				<td>5</td>
			</tr>
		</tbody>
	</table>

	<table>
	<tbody>
		<tr id="test">
		</tr>
	</tbody>
</table>

</body>

</html>
Ответить с цитированием
  #10 (permalink)  
Старый 21.04.2014, 17:39
Интересующийся
Отправить личное сообщение для Chamus Посмотреть профиль Найти все сообщения от Chamus
 
Регистрация: 21.04.2014
Сообщений: 25

рони, не работает на сайте
Подскажи, что не так!
http://pastebin.com/tvJCpREc
Функция в конце // Расчет

Может не хочет работать, потому что на сайте несколько таблиц.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как разблокировать все checkbox? wofat jQuery 1 06.04.2013 13:55
Как запустить функцию, только если выполнились все события, на которые она подписана Shitbox2 jQuery 4 05.03.2013 10:40
Как получить все атрибуты <input> Kotakota jQuery 7 08.10.2012 18:22
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37