您现在的位置:首页 >> 前端 >> 内容

html笔记:可预约当日的select制作

时间:2017/9/28 11:06:00 点击:

  核心提示:时间可以预约整点和半点。当日的话,已经过了时间不能预约。实现方法如下:select如下:(不知道为什么直接粘html代码是不会显示代码的,so我选择上图)获得当前时间time1,设置time2为当天早...

时间可以预约整点和半点。当日的话,已经过了时间不能预约。实现方法如下:

select如下:
html笔记:可预约当日的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

Tags:HT TM ML L笔 
作者:网络 来源:雪兰灵莹的小窝