核心提示:时间可以预约整点和半点。当日的话,已经过了时间不能预约。实现方法如下:select如下:(不知道为什么直接粘html代码是不会显示代码的,so我选择上图)获得当前时间time1,设置time2为当天早...
时间可以预约整点和半点。当日的话,已经过了时间不能预约。实现方法如下:
select如下:
(不知道为什么直接粘html代码是不会显示代码的,so我选择上图)
获得当前时间time1,设置time2为当天早上8点:
var time1 = new Date(); var today = time1.getFullYear()+"/" +time1.getMonth()+1)+"/"+time1.getDate(); var time2 = today+" 08:00:00";
time1减去time2,获得时间差:
var count = (myDate - eight)/60000 / 60;
除以60000,得到的时间差单位是分钟,再除以60单位是小时。
因为还需要预约半点,所以还需再除以0.5,计算时间差一共有多少个半小时:
var count = count /0.5;
然后,写for循环删除多余的select的option:
if(count>=19){ count=19 } for(i=0;i若是选择其他日期,这需要清空select,然后重新添加option:
mySelect.options.length=0; //清空select mySelect.options.add(new Option("请选择时间","请选择时间"),0); mySelect.options.add(new Option("8:00","8:00"),1); mySelect.options.add(new Option("8:30","8:30"),2); mySelect.options.add(new Option("9:00","9:00"),3); mySelect.options.add(new Option("9:30","9:30"),4); mySelect.options.add(new Option("10:00","10:00"),5); mySelect.options.add(new Option("10:30","10:30"),6); mySelect.options.add(new Option("11:00","11:00"),7); mySelect.options.add(new Option("11:30","11:30"),8); mySelect.options.add(new Option("12:00","12:00"),9); mySelect.options.add(new Option("12:30","12:30"),10); mySelect.options.add(new Option("13:00","13:00"),11); mySelect.options.add(new Option("13:30","13:30"),12); mySelect.options.add(new Option("14:00","14:00"),13); mySelect.options.add(new Option("14:30","14:30"),14); mySelect.options.add(new Option("15:00","15:00"),15); mySelect.options.add(new Option("15:30","15:30"),16); mySelect.options.add(new Option("16:00","16:00"),17); mySelect.options.add(new Option("16:30","16:30"),18); mySelect.options.add(new Option("17:00","17:00"),19);整个的代码实现如下:
function showVisitTime(t) { //传参是为了区别是当天还是第二天以后的日期,0 是当天,1是第二天以后 var mySelect = document.getElementById("SelectTime"); var myDate = new Date(); var today = myDate.getFullYear()+"/"+(myDate.getMonth()+1)+"/"+myDate.getDate(); if(t==0) { var eight = new Date(today+" 08:00:00"); var count = (myDate - eight)/60000 / 60 /0.5; if(count>=19){ count=19 } for(i=0;i