Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript下拉列表选择时间条件电流_Javascript_Php_Date_Time_Drop Down Menu - Fatal编程技术网

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'

我的表单中有两个选择字段:

  • 一个用于选择日期
  • 其他用于选择时间
对于MoFr选择间隔时间为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',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>