2017-06-27 7 views
2

これらのプログラムでは、15分間隔でwhileループを使って1つのtimepickerを作成し、これらのコードではサーバ時間より前のすべての時間を無効にします。 しかし、問題は私が時間ドロップダウンリストで将来の日付を選択するとサーバがdisabled.Iの前にある時間を選択すると、ユーザが将来の日付を選択して、サーバの前にある時間よりも今日の日付を選択した場合、時間。 私は何をしますか?php datepickerとdropdown timepicker

<!DOCTYPE HTML> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Select - onchange example</title> 
    </head> 

    <body> 
    <label for="meetingPlace">Date: </label> 
    <input type="date" id="meetingPlace"> 

    <div id="results"></div> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script> 
     $("#meetingPlace").on("change", function(){ 
     var selected = $(this).val(); 
     $("#results").html("You selected: " + selected); 
     }) 
    </script> 
    </body> 
</html> 
<?php 
$var = date('Y-m-d'); 
//echo $var; 
$time = date('G:i'); 
//echo $time; 
    $start = "00:00"; 
    $end = "23:45"; 
    $tStart = strtotime($start); 
    $tEnd = strtotime($end); 
    $tNow = $tStart;?> 
    <?php 
    echo '<select name="schedule_time">'; 
    while($tNow <= $tEnd) 
    { 

     if($tNow <= strtotime(date('G:i'))){ $prop ='disabled'; }else{ $prop=''; } 
     echo '<option value="'.date("H:i",$tNow).'" '.$prop.'>'.date("H:i",$tNow).'</option>'; 
     $tNow = strtotime('+15 minutes',$tNow); 
    } 
    echo '</select>'; 

?> 

答えて

0

1)私は、あなたがIDを使用して、あなたが選択に変更のイベントリスナーではPHP

2)の終了タグの後に体とhtmlのために終了タグを置く必要があります気づきましたしかし、そのIDはまた、あなたが選択の作成後にそのスクリプトを移動する、または声明

3)あなたは日時

とのより良い動作するはず.ready $(文書)を使用する必要があり、選択の上ではありません
$hourFormat = 'H:i'; 
    $minutesInterval = new DateInterval('PT15M'); 
    $tNow = new DateTime(); 
    $tStart = new DateTime(); 
    $tStart->setTime(00, 00); 
    $tEnd = new DateTime(); 
    $tEnd->setTime(23, 45); 
    $tCount = clone $tStart; 
    echo '<select id="meetingPlace" name="schedule_time">'; 
    while($tCount <= $tEnd){ 
     $attribute = ""; 
     if($tCount <= $tNow){ 
      $attribute = "disabled"; 
     } 
     $dateFormatted = $tCount->format($hourFormat); 
    ?> 
    <option value="<?php echo $dateFormatted; ?>" <?php echo $attribute; ?>> 
     <?php echo $dateFormatted; ?> 
    </option> 
    <?php 
     $tCount->add($minutesInterval); 
    } ?> 
    </select> 
    <p id="results"></p> 
    <script> 
     $("#meetingPlace").on("change", function(){ 
      var selected = $(this).val(); 
      $("#results").html("You selected: " + selected); 
     }); 
    </script> 

fiddle ==>https://www.tehplayground.com/Xih7Lvz1ZRFAaeMa

関連する問題