如果日期是今天,则无法禁用下拉菜单中的过去时间。 谁能帮我吗?
我一直成功地在下拉列表中显示。
<?php
$currentDate = date('Y-m-d H:i:s');
$explode = explode(' ',$currentDate);
$time = $explode[1];
list($h,$m,$s) = explode(':',$time);
for($hours=8; $hours<22; $hours++) // the interval for hours is '1'
for($mins=0; $mins<60; $mins+=30) // the interval for mins is '30'
echo '<option>'.str_pad($hours,2,'0',STR_PAD_LEFT).':'
.str_pad($mins,2,'0',STR_PAD_LEFT).':'
.str_pad($sec=0,2,'0',STR_PAD_LEFT);'</option>';
?>
我希望输出是如果日期是今天,当前系统时间是10:00:00,那么下拉列表中的过去时间将被禁用。
答案 0 :(得分:0)
在for循环内,您可以检查当前时间是否大于您为该选项回显的时间。然后,您可以使用它为已禁用设置变量。
<?php
for ($hours=8; $hours<22; $hours++) {
for ($mins=0; $mins<60; $mins+=30) {
$optTime = strtotime($hours.':'. $mins . ':00');
$curTime = strtotime(date('H:i:s'));
$disabled = "";
if ($optTime <= $curTime) {
$disabled ='disabled';
}
echo '<option ' . $disabled . '>'.str_pad($hours, 2, '0', STR_PAD_LEFT).':'
.str_pad($mins, 2, '0', STR_PAD_LEFT).':'
.str_pad($sec=0, 2, '0', STR_PAD_LEFT);
'</option>';
}
}