2017-08-16 12 views
0

初めて私の英語のために申し訳ありません。私は私のウェブサイトに問題があります。私は日付がsee the imageの2つのドロップダウンを持っています(inizio = start、fine = end)。 START DATEをクリックすると、END DATEが(自動的に)開始日よりも1時間に変更されます。たとえば、「inizio」では、次の日付を選択します。16アゴスト(8月)2017 :30、ENDSTATEは16アゴスト2017 :30に自動的に変更されます。 Default.php:自動的に選択されたドロップダウン日付PHP(joomlaを使用)

<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 .= "&nbsp;"; 

       $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 .= "&nbsp;"; 


     $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 .= "&nbsp;&nbsp;&nbsp;"; 


     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 .= "&nbsp;"; 

      //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 .= "&nbsp;"; 
     } 

     return $control."<br />"; 
    } 
    else 
    { 
     return "{<u>dateTimePicker ERROR:</u> modalit&agrave; non valida}"; 
    } 
} 

答えて

0

は、このためのjQueryを使用するのがベストでしょう。このdocumentation

を見てください。 time1のonchange内に$(".time2").val('2');のようなものを追加する必要があります。 valの金額が時間プラス1時間に等しい場合。

Time1 - 最初の日時クラス Time2 - 2番目の日時クラス

関連する問題