Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вывод дат в таблицу (https://javascript.ru/forum/dom-window/34496-vyvod-dat-v-tablicu.html)

Dimas95 07.01.2013 19:01

Вывод дат в таблицу
 
Здравствуйте, подскажите пожалуйста как можно сделать следующее:
есть таблица, в одном из столбцов в которой должны выводится даты на две недели вперед. И что бы при истечении этих двух недель выводились новые даты для последующих двух недель.
Пример таблицы здесь, хотя она не закончена, но для обьяснения задачи подходит.
Я в Javascript не очень силен, поэтому желательно что то готовое :)
Сайт на ВордПресс, так что плагин какой нибудь тоже подойдет
Спасибо заранее

UPD. Ниже привожу пример требуемой таблицы. Нужно, что бы даты самозаменялись после этих двух недель

07.01.13 Masha
08.01.13 Petya
09.01.13 Katya
10.01.13 Vasya
11.01.13 Alena
12.01.13 Kolya
13.01.13 Serega
14.01.13 Oleg
15.01.13 Lada
16.01.13 Nikita
17.01.13 Anya
18.01.13 Daniil
19.01.13 Dmitriy
20.01.13 Alexey

Так должно быть по истечению этих двух недель:

21.01.13
22.01.13
23.01.13
24.01.13
25.01.13
26.01.13
27.01.13
28.01.13
29.01.13
30.01.13
31.01.13
01.02.13
02.02.13
03.02.13

И по истечению этих двух, следующие две и так далее...

Deff 07.01.2013 19:06

Сделайте в топике пару(или скок там) колонок с реальными датами, дабы по сто раз не пояснять

Deff 07.01.2013 19:20

Эээ тут лучше ссылку, http://dkstudio.net/work/john/
И пару столбиков с текстом(не HTML) реальных дат, посколь непонятен алгоритм

Dimas95 07.01.2013 19:21

Цитата:

Сообщение от Deff (Сообщение 225838)
Сделайте в топике пару(или скок там) колонок с реальными датами, дабы по сто раз не пояснять

Спасибо за совет, прикрутил

Deff 07.01.2013 19:21

Цитата:

Сообщение от Dimas95
Ниже привожу пример требуемой таблицы. Нужно, что бы даты самозаменялись после этих двух недель

Приведите и второй вариант с измененными датами

Dimas95 07.01.2013 19:28

Добавил. Так наверное будет наглядно

Deff 07.01.2013 20:51

сейчас покурочу

Deff 07.01.2013 22:57

Не увидел в таблице http://dkstudio.net/work/john/ данных вышеприведённого формата,
поэтому думайте сами из какой колонки их брать (см переменную N в скрипте)
Подразумевается что дата формата 07.01.13 расположена в одной колонке

$(document).ready(function(){
var Delta=1000*60*60*24*14 //Добавляемое Кол-во миллисекунд
function dateExchang(d,Delta) {
a=a.replace(/\./g,' ').replace(/\s(\d\d)\s*$/,' 20$1')
a=a.replace(/^(.{3})(.{3})/,'$2$1')
var d = new Date();
d.setTime(Date.parse(a)+Delta);
d=d.split(/\s+/)
return d;
}
var N=1; //Номер колонки(1- это вторая, первая - 0) откуда берем - заменяем и впихиваем
$("div.entry-content>table tr").each(function(){
  var a=$(this).find('td').eq(N);
  a.text(dateExchang(a.text(),Delta));
});
});

Dimas95 08.01.2013 03:11

Спасибо за скрипт, очень благодарен. Но я не совсем понимаю как его применить. Я обновил таблицу на сайте (первая таблица), и проставил в ней даты через HTML вручную. А не подскажете ли как сделать что бы даты проставлялись автоматически скриптом? Насколько я понимаю, нужно поесить событие onLoad на каждую строку таблицы, но что делать после этого? Тоесть могли бы вы применить этот скрипт к приведенной таблице?
Вот код таблицы


<tbody>
<tr>
<td><strong>Date</strong></td>
</tr>
<tr>
<td><strong>07.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>08.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>09.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>10.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>11.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>12.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>13.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>14.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>15.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>16..01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>17.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>18.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>19.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>20.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
</tbody>
</table>



Спасибо заранее

Deff 08.01.2013 04:47

Dimas95, См спойлер!
<script src="http://code.jquery.com/jquery-latest.js"></script>


<div class="entry-content">
<table>
<tbody>
<tr>
<td><strong>Date</strong></td>
</tr>
<tr>
<td><strong>07.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>08.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>09.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>10.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>11.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>12.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>13.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong><strong>14.01.13</strong></strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>15.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>16.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>17.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>18.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>19.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
<tr>
<td><strong>20.01.13</strong></td>
<td><strong><strong>Name</strong></strong></td>
</tr>
</tbody>
</table>
</div>

<script type="text/javascript">
$(document).ready(function(){ 
var Delta=1000*60*60*24*14 //Добавляемое Кол-во миллисекунд
function dateExchang(a,Delta) {
a=a.replace(/\./g,' ').replace(/\s(\d\d)\s*$/,' 20$1');
a=a.replace(/^(.{3})(.{3})/,'$2$1');
var d = new Date();d.setTime(Date.parse(a)+Delta);
var month=("0"+(d.getMonth()+1)).replace(/(\d\d$)/,'$1');d=d.toString().split(/\s+/);
d=d[2]+"."+month+"."+d[3];
return d;
}

var N=0; //Номер колонки(1- это вторая, первая - 0) откуда берем - заменяем и впихиваем
$("div.entry-content>table tr").each(function(){

  var a=$(this).find('td').eq(N).find('strong:last');
  var b=a.text();
   if(b.split(".").length==3){a.text(dateExchang(b,Delta))}

});
});
</script>

Cкрипт пока тупо добавляет 14 дней к сушествующим в таблице//Обновление дат по окончании cрока- пока не делал
(В вообще какой в данном деянии заложен аргумент ? - Для чего этот финт ?


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