Доброго времени суток. Задача: каждый раз после перетаскивания строк таблицы(sortable update) и при её формировании(ajax) просчитывать время. Т.е. (идем сверху вниз): Время окончания в 1й строке должно быть равно Время начала 2й, Время окончания 2й - Времени начала 2й и т.д.
Решил) Сравниваю в цикле Время окончания предыдущей строки и Время начала текущей. Тут же вычисляю Время окончания текущей строки и так далее. Начинаю проверку со второй строки, т.к. первая проверяется на соответствие началу рабочего дня
for (var i = 2; i <= numRows; i++) {
var startPeriodTimeThisRow = $('#sortable tr:nth-child('+i+') td:nth-child(2)').text()
.replace(/(([0-9])|([0,1][0-9])|(2[0-3])).([0-5][0-9])/, '$1:$5');
var endPeriodTimePrevRow = $('#sortable tr:nth-child('+(i-1)+') td:nth-child(3)').text()
.replace(/(([0-9])|([0,1][0-9])|(2[0-3])).([0-5][0-9])/, '$1:$5');
if(startPeriodTimeThisRow !== endPeriodTimePrevRow) {
$('#sortable tr:nth-child('+i+') td:nth-child(2)').text(endPeriodTimePrevRow);
}
var endPeriodTimeThisRow = secondsToHM(timeToSecond($('#sortable tr:nth-child('+i+') td:nth-child(2)').text()) +
($('#sortable tr:nth-child('+i+')').attr('time') * 60));
$('#sortable tr:nth-child('+i+') td:nth-child(3)').text(endPeriodTimeThisRow);
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники