Вывод дат в таблицу
Здравствуйте, подскажите пожалуйста как можно сделать следующее:
есть таблица, в одном из столбцов в которой должны выводится даты на две недели вперед. И что бы при истечении этих двух недель выводились новые даты для последующих двух недель. Пример таблицы здесь, хотя она не закончена, но для обьяснения задачи подходит. Я в 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 И по истечению этих двух, следующие две и так далее... |
Сделайте в топике пару(или скок там) колонок с реальными датами, дабы по сто раз не пояснять
|
Эээ тут лучше ссылку, http://dkstudio.net/work/john/
И пару столбиков с текстом(не HTML) реальных дат, посколь непонятен алгоритм |
Цитата:
|
Цитата:
|
Добавил. Так наверное будет наглядно
|
сейчас покурочу
|
Не увидел в таблице 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)); }); }); |
Спасибо за скрипт, очень благодарен. Но я не совсем понимаю как его применить. Я обновил таблицу на сайте (первая таблица), и проставил в ней даты через 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> Спасибо заранее |
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. |