Как сложить все ячейки в каждом столбце?
Здравствуйте всем.
Я еще только начинаю учить 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> Помогите, пожалуйста :help: |
Chamus,
может для начала tbody в table вместо div |
Цитата:
|
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>
|
Thanks!
|
рони, не хочу наглеть, но спрошу еще кое-что :)
Вот ваша чудесная функция:
$(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> |
Chamus,
$("div") поменять на $("#roni td") |
Цитата:
|
Chamus,
:cray:
<!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>
|
рони, не работает на сайте :(
Подскажи, что не так! http://pastebin.com/tvJCpREc Функция в конце // Расчет Может не хочет работать, потому что на сайте несколько таблиц. |
Chamus,
1.как вы собрались складывать нецифровые данные? 2.пользоваться http://pastebin.com неумею. 3.ненадо указвать другие id кроме конечного - это бессмысленно. |
Цитата:
2. Кода очень много, я подумал лучше выложить туда. Выложу тут. 3. Не понял. Вообще, моя конечная цель сделать так, чтобы к таблицы с классом journal добавлялась в конце строчка с результатами суммы каждого из столбцов. Такие дела. :) Я попросил отдельный скрипт, чтобы вы не копались в куче кода. Я бы потом сам его приделал, но что-то не получилось. :(
<html>
<head>
<title>Мастер ТЭН - программа компании ООО «Электронагреватели», версия 1.0
</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
// Расчет
$("#tt").click(function () {
goCalc()
});
function goCalc() {
$(".journal tr:first td").each(function (indx) {
var sum = 0;
$("td:nth-child(" + (indx + 1) + ")", ".journal").each(function () {
sum += +$(this).text();
});
$('.journal > tbody').append('<td><\/td>');
// $("<td><\/td>",{text:sum}).appendTo(".journal > tbody > td:last");
});
}
</script>
</head>
<body>
<div class="top1">
<div class="wd" id="top1">
<span id="tt">ТЕСТ</span>
<ul id="tasks" style="display: block;"></ul>
<div class="clear"></div>
</div>
</div>
<div class="top2">
<div class="wd spacer33" id="top-second-menu">
<table border="0" style="display: table;" width="100%">
<thead>
</thead>
</table>
</div>
</div>
<div class="wd" id="main" style="display: block;">
<br>
<table class="journal" style="display: table;">
<thead>
<tr>
<th id="coloumnsControl">
<div class="resize"></div>
</th>
<th>
<div style="width: 40px;">
<span>Номер наряда</span>
</div>
</th>
<th>
<div style="width: 148px;">
<span>Пользователь</span>
</div>
</th>
<th>
<div style="width: 101px;">
<span>Дата</span>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class=" status-closed">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
<div class="transport"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="slab" title="Пластина"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="shtucer" title="Штуцер"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="shtucer" title="Штуцер"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td class="c cellCol1691">374</td>
<td>123</td>
<td class="c cellCol1721">123</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="100"><a class="more" href="#">...</a>
</td>
</tr>
</tfoot>
</table>
<br>
</div>
<!-- This page generated in 0.131638 secs by XSLT, SITE MODE -->
</body>
</html>
|
Chamus,
строка 10 несработает -- нет ЕЩЁ элемента с таким id
$(function ()
{
// сюда ваш код
})
Цитата:
|
Chamus,
<html>
<head>
<title>Мастер ТЭН - программа компании ООО «Электронагреватели», версия 1.0
</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
$(function () {
$("#tt").click(function () {
goCalc()
});
function goCalc() {
var tr = $("<tr/>");
$("<td/>", {
html: "<div class='' title=''></div>"
}).appendTo(tr);
$(".journal > tbody tr:first td:nth-of-type(n+2)").each(function (indx) {
var sum = 0;
$("td:nth-child(" + (indx + 2) + ")", ".journal tbody").each(function () {
sum += +$(this).text();
});
$("<td/>", {
text: sum
}).appendTo(tr);
});
tr.appendTo('.journal > tbody')
}
})
</script>
</head>
<body>
<div class="top1">
<div class="wd" id="top1">
<span id="tt">ТЕСТ</span>
<ul id="tasks" style="display: block;"></ul>
<div class="clear"></div>
</div>
</div>
<div class="top2">
<div class="wd spacer33" id="top-second-menu">
<table border="0" style="display: table;" width="100%">
<thead>
</thead>
</table>
</div>
</div>
<div class="wd" id="main" style="display: block;">
<br>
<table class="journal" style="display: table;">
<thead>
<tr>
<th id="coloumnsControl">
<div class="resize"></div>
</th>
<th>
<div style="width: 40px;">
<span>Номер наряда</span>
</div>
</th>
<th>
<div style="width: 148px;">
<span>Пользователь</span>
</div>
</th>
<th>
<div style="width: 101px;">
<span>Дата</span>
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class=" status-closed">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
<div class="transport"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="slab" title="Пластина"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="shtucer" title="Штуцер"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr style="opacity: 0.3;">
<td class="">
<div class="ten" title="ТЭН"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="shtucer" title="Штуцер"></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class=" status-closed">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td>374</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td class="">
<div class="" title=""></div>
</td>
<td class="c cellCol1691">374</td>
<td>123</td>
<td class="c cellCol1721">123</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="100"><a class="more" href="#">...</a>
</td>
</tr>
</tfoot>
</table>
<br>
</div>
</body>
</html>
|
Спасибо! Все заработало! :dance: :dance:
Как вы дошли до таких знаний?:) |
Chamus,
http://learn.javascript.ru/ |
| Часовой пояс GMT +3, время: 00:21. |