сначала извините за мой английский. У меня проблема с моим сайтом. У меня 2 выпадающих с датой увидеть изображение (inizio = начало, отлично = конец). Мне бы хотелось, чтобы при нажатии НАЧАТЬ ДАТУ конечная дата изменялась (автоматически) на один час больше даты начала. Например: в «inizio» я выбираю следующую дату: 16 августа (август) 2017 14: 30, КОНЕЦ ДАТЫ должен измениться автоматически в 16 августа 2017 15: 30. default.php:
<tr height="50px">
<td align="center" style="border-color:white; border:0px; background-color:#F8F9FA;"><br /><b><font size="+1">Inizio</font></b></td>
<td align="center" style="border-color:white; border:0px; background-color:#F8F9FA;"><br />' . $this->helper->dateTimePicker("inizio", "DATETIME") . '</td>
</tr>
<tr height="50px">
<td align="center" style="border-color:white; border:0px; background-color:#F8F9FA;"><b><font size="+1">Fine</font></b></td>
<td align="center" style="border-color:white; border:0px; background-color:#F8F9FA;">' . $this->helper->dateTimePicker("fine", "DATETIME") . '</td>
</tr>
Метод dataTimePicker:
function dateTimePicker($dpname, $mode = "DATE") // MODES: "DATE" or "DATETIME"{
$control = "";
$anni_da_visualizzare = 2;
if ($mode == "DATE" || $mode == "DATETIME")
{
$control .= '<select name="giorno_'.$dpname.'">';
for ($i = 1; $i <= 31; $i++)
{
if ($i == date("j"))
{
$control .= '<option value="'.$i.'" selected="selected">'.$i.'</option>';
}
else
{
$control .= '<option value="'.$i.'">'.$i.'</option>';
}
}
$control .= '</select>';
//=================================
$control .= " ";
$mesi = array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre");
$control .= '<select name="mese_'.$dpname.'">';
for ($i = 1; $i <= 12; $i++)
{
if ($i == date("n"))
{
$control .= '<option value="'.$i.'" selected="selected">'.$mesi[$i-1].'</option>';
}
else
{
$control .= '<option value="'.$i.'">'.$mesi[$i-1].'</option>';
}
}
$control .= '</select>';
//=================================
$control .= " ";$control .= '<select name="anno_'.$dpname.'">';
$inizio = date("Y");
$fine = date("Y") + $anni_da_visualizzare;for ($i = $inizio; $i <= $fine; $i++)
{
if ($i == date("Y"))
{
$control .= '<option value="'.$i.'" selected="seected">'.$i.'</option>';
}
else
{
$control .= '<option value="'.$i.'">'.$i.'</option>';
}
}
$control .= '</select>';
//=================================
$control .= " ";if ($mode == "DATETIME")
{
//H - ore_$dpname !
$control .= '<select name="ore_'.$dpname.'">';
for ($i = 0; $i <= 23; $i++)
{
if ($i == date("G"))
{
$control .= '<option value="'.$i.'" selected="selected">'.($i < 0 ? '0'.$i : $i).'</option>';
}else
{
$control .= '<option value="'.$i.'">'.($i < 10 ? '0'.$i : $i).'</option>';
}
}
$control .= '</select>';
//=================================
$control .= " ";
//Minutes- minuti_$dpname !
$control .= '<select name="minuti_'.$dpname.'">';
for ($i = 0; $i <= 3; $i++)
{
if (intval(date("i")) < ($i*15) && intval(date("i")) > (($i*15) - 15))
$control .= '<option value="'.($i*15).'" selected="selected">'.($i == 0 ? '00' : (15*$i)).'</option>';
else
$control .= '<option value="'.($i*15).'">'.($i == 0 ? '00' : (15*$i)).'</option>';
}
$control .= '</select>';
//=================================
$control .= " ";
}
return $control."<br />";
}
else
{
return "{<u>dateTimePicker ERROR:</u> modalità non valida}";
}
}
Посмотри на это документация
Для этого лучше всего использовать jquery. Вы должны добавить что-то вроде $(".time2").val('2');
в течение времени1. Где сумма в val равна времени плюс 1 час.
Time1 — первая дата и класс времени
Time2 — вторая дата и класс времени
Других решений пока нет …