我目前有一个下拉列表,其中显示了用户选择日期的时间段和日期选择器。我正在尝试制作一个动态时隙,它只显示根据当前时间和日期的时间。例如,如果用户想预约2015年3月25日,则不应显示过去的时间,而应显示当前的时间和尚未到来的时间。但是,如果他们想选择未来的日期,它应该显示所有时间。
<select name ="timeslot">
<option value ="0"> Please select </option>
<option value = "08:30" > 08:30 </option>
<option value = "09:15" > 09:15 </option>
<option value = "10:00" > 10:00 </option>
<option value = "10:45" > 10:45 </option>
<option value = "11:30" > 11:30 </option>
<option value = "12:15" > 12:15 </option>
<option value = "13:00" > 13:00 </option>
<option value = "13:45" > 13:45 </option>
<option value = "14:30" > 14:30 </option>
<option value = "15:15" > 15:15 </option>
<option value = "16:00" > 16:00 </option>
<option value = "16:45" > 16:45 </option>
<option value = "17:30" > 17:30 </option>
</select>
<p><input type="text" id="datepicker" name = "date" readonly = 'true'
placeholder = "Enter Date"></p>
<script>
$( "#datepicker" ).datepicker({
dateFormat:'yy-mm-dd'
});
</script>
下面的代码用于时间动态下拉
function creatTimeDropdown(){
$hours = $minutes = $ampm = $optString='';
$i=0;
for( $i = 540; $i <= 1260; $i += 30){
$hours = floor($i / 60);
$minutes = $i % 60;
if ($minutes < 10){
$minutes = '0' . $minutes; // adding leading zero
}
$ampm = $hours % 24 < 12 ? 'AM' : 'PM';
$hours = $hours % 12;
if ($hours === 0){
$hours = 12;
}
$text =$hours.':'.$minutes.' '.$ampm;
$optString .='<option value="'.$i.'">'.$text.'</option>';
}
return $optString;
}