javascript下拉列表选择时间条件电流
我的表单中有两个选择字段:javascript下拉列表选择时间条件电流,javascript,php,date,time,drop-down-menu,Javascript,Php,Date,Time,Drop Down Menu,我的表单中有两个选择字段: 一个用于选择日期 其他用于选择时间 对于Mo到Fr选择间隔时间为09:00-17:00。 Sa的时间间隔为09:00-14:00。 对于Su为无 如果今天是Mo而当前时间是上午11:17 ->我只想选择12:00PM-17:00之间的时间。 如果今天是星期一,当前时间是13:00 ->我只想选择14:00-14:00之间的时间 如果今天是2020年11月29日,我选择2020年12月1日 ->我希望能够选择时间间隔09:00-17:00 这在启用('change'
- 一个用于选择日期
- 其他用于选择时间
Sa的时间间隔为09:00-14:00。
对于Su为无 如果今天是Mo而当前时间是上午11:17
->我只想选择12:00PM-17:00之间的时间。
如果今天是星期一,当前时间是13:00 ->我只想选择14:00-14:00之间的时间 如果今天是2020年11月29日,我选择2020年12月1日
->我希望能够选择时间间隔09:00-17:00 这在启用('change',function(){…)的javascript中可能吗
<div class="form-group">
<label class="control-label" for="data_cmd">Dată ridicare*</label>
<input id="data_cmd" type="date" class="form-control" data-date="" data-date-format="Y-m-d" name="data_cmd" placeholder="mm/dd/yyyy"/>
</div>
<div class="form-group">
<label for="ora_ridicare">Ora ridicare*<br></label>
<select class="form-control" type="text" id="ora_ridicare" name="ora_ridicare"/>
<option value="">00:00</option>
<?php
for($hours=9; $hours<18; $hours++)
for($mins=0; $mins<60; $mins+=60)
echo '<option>'.str_pad($hours,2,'0',STR_PAD_LEFT).':'
.str_pad($mins,2,'0',STR_PAD_LEFT).'</option>';
?>
</select>
</div>
Datăridicare*
健康护理*
00:00
Datăridicare*
爱护*
00:00
三聚体
雷斯特亚兹ă
加载。。。
我的方法
const myForm=document.forms['form-name']
const-padHM=(h,m)=>`${h.toString(10).padStart(2,'0')}:${m.toString(10).padStart(2,'0')}`
常数差=
{星期一:{第一个:'09:00',最后一个:'17:00'}
,星期二:{第一个:'09:00',最后一个:'17:00'}
,星期三:{第一个:'09:00',最后一个:'17:00'}
,星期四:{第一个:'09:00',最后一个:'17:00'}
,星期五:{第一个:'09:00',最后一个:'17:00'}
,星期六:{第一个:'09:00',最后一个:'14:00'}
,星期日:{第一个:'25:00',最后一个:''}
}
;
//准备选择名为ora_的护理
对于(假设hourX=9;hourX
{
opt.disabled=opt.valueDteRange[dteDay]。最后一个
})
myForm.ora_ridicare.value='00:00'//在顶部重置。。
}
Datăridicare*
健康护理*
选择时间:
我的方法
const myForm=document.forms['form-name']
const-padHM=(h,m)=>`${h.toString(10).padStart(2,'0')}:${m.toString(10).padStart(2,'0')}`
常数差=
{星期一:{第一个:'09:00',最后一个:'17:00'}
,星期二:{第一个:'09:00',最后一个:'17:00'}
,星期三:{第一个:'09:00',最后一个:'17:00'}
,星期四:{第一个:'09:00',最后一个:'17:00'}
,星期五:{第一个:'09:00',最后一个:'17:00'}
,星期六:{第一个:'09:00',最后一个:'14:00'}
,星期日:{第一个:'25:00',最后一个:''}
}
;
//准备选择名为ora_的护理
对于(假设hourX=9;hourX
{
opt.disabled=opt.valueDteRange[dteDay]。最后一个
})
myForm.ora_ridicare.value='00:00'//在顶部重置。。
}
Datăridicare*
健康护理*
选择时间:
关于问题的第二部分
如果今天是Mo,当前时间是上午11:17->我只想选择12:00PM-17:00之间的时间。
如果今天是星期四,那么当前时间是13:00
->我只想选择14:00-14:00之间的时间 如果今天是2020年11月29日,我选择2020年12月1日
->我希望能够选择时间间隔09:00-17:00 只需更改我代码的这一部分:
myForm.data\u cmd.onchange=()=>
{
让inputDate=myForm.data\u cmd.valueAsDate
,dteDay=inputDate.toLocaleDateString('en-GB',{weekday:'long'})
,h_First=DteRange[dteDay]。First
,h_Last=DteRange[dteDay]。Last
,now_DT=新日期()
,todayDate=now_DT.toLocaleDateString('en-GB').split('/').reverse().join('-'))
,chooseDay=inputDate.toLocaleDateString('en-GB').split('/').reverse().join('-'))
;
如果(选择日期<今天日期)h_First='25:00'
如果(选择日期===今天日期)
{
让tim=now_DT.toLocaleTimeString('en-GB',{hour12:false,hour:'2位',minute:'2位'})
如果(tim>h_First)h_First=tim
}
myForm.ora_ridicare.querySelectorAll('option').forEach(opt=>
{
opt.disabled=opt.valueDteRange[dteDay]。last
})
myForm.ora_ridicare.value='00:00'//在顶部重置。。
}
关于问题的第二部分
如果今天是Mo,当前时间是上午11:17->我只想选择12:00PM-17:00之间的时间。
如果今天是星期四,那么当前时间是13:00
->我只想选择14:00-14:00之间的时间 如果今天是2020年11月29日,我选择2020年12月1日
->我希望能够选择时间间隔09:00-17:00 只需更改我代码的这一部分:
myForm.data\u cmd.onchange=()=>
{
让inputDate=myForm.data\u cmd.valueAsDate
,dteDay=inputDate.toLocaleDateString('en-GB',{weekday:'long'})
,h_First=DteRange[dteDay]。First
,h_Last=DteRange[dteDay]。Last
,now_DT=新日期()
,todayDate=now_DT.toLocaleDateString('en-GB').split('/').reverse().join('-'))
,chooseDay=inputDate.toLocaleDateString('en-GB').split('/').reverse().join('-'))
;
如果(选择日期<今天日期)h_First='25:00'
如果(选择日期===今天日期)
{
让tim=now_DT.toLocaleTimeString('en-GB',{hour12:false,hour:'2位',minute:'2位'})
如果(tim>h_First)h_First=tim
}
myForm.ora_ridicare.querySelectorAll('option').forEach(opt=>
{
opt.disabled=opt.valueDteRange[dteDay]。last
})
myForm.ora_ridicare.value='00:00'//在顶部重置。。
}
新版本(全部JS)关于
如果当前时间为9:30,我需要能够从列表中选择11:00。如果当前时间为9:59,请选择11:00。如果当前时间最大值为10:05,
<div class="container contact">
<form action="" method="post" id="form" enctype="multipart/form-data" accept-charset="iso-8859-2">
<div class="contact-form">
<div class="form-group">
<label class="control-label" for="data_cmd">Dată ridicare*</label>
<input id="data_cmd" type="date" class="form-control" data-date="" data-date-format="Y-m-d" name="data_cmd" placeholder="mm/dd/yyyy"/>
</div>
<div class="form-group">
<label for="ora_ridicare">Ora ridicare*</label>
<select class="form-control" type="text" id="ora_ridicare" name="ora_ridicare"/>
<option value="">00:00</option>
<?php
for($hours=9; $hours<18; $hours++)
for($mins=0; $mins<60; $mins+=60)
echo '<option>'.str_pad($hours,2,'0',STR_PAD_LEFT).':'
.str_pad($mins,2,'0',STR_PAD_LEFT).'</option>';
?>
</select>
</div>
<div class="form-group">
<div class="col-sm-offset-2">
<button type="submit" class="btn btn-default" name="sendEmail">Trimite</button>
<button type="reset" class="btn btn-secondary" value="Reset Button" onclick="document.location.reload();">Resetează</button>
</div>
</div>
<div id="overlay" style="display:none;">
<div class="spinner"></div>
<br/>
Loading...
</div>
</div>
</form>
</div>