根据你当前选中的天数 ,及当前的分钟数。
如现在时间 14号12:25分,则分钟数可以显示55(25+30)~59,小时数为12~20。
如现在时间 14号12:35,则分钟数为5(35+30-60)~59,小时数为13(12+1)~20。
至于不在当天,则好去判断了。
通过以上判断,再把对应的option值更新。
如现在时间 14号12:25分,则分钟数可以显示55(25+30)~59,小时数为12~20。
如现在时间 14号12:35,则分钟数为5(35+30-60)~59,小时数为13(12+1)~20。
至于不在当天,则好去判断了。
通过以上判断,再把对应的option值更新。
<select id="inp_d" onchange="get_hm()"> </select>
<select id="inp_h"> </select>
<select id="inp_m"> </select>
var d= new Date();
for (var i=0; i<3; i++)
{
var opt = document.createElement("option");
opt.text = opt.value = d.toLocaleString().substring(0,10);
if (i==0) opt.selected = true;
document.getElementById("inp_d").add(opt);
d.setUTCSeconds(3600*24);
}
get_hm();
function get_hm(){
var d= new Date();
var h=8, m=0; //小时和分钟的初始值
var inp_d = document.getElementById("inp_d");
var inp_h = document.getElementById("inp_h");
var inp_m = document.getElementById("inp_m");
//清空小时和分钟已有的选项
for (var i=0; i<inp_h.options.length; )
{
inp_h.remove(inp_h.options[i]);
}
for (var i=0; i<inp_m.options.length; )
{
inp_m.remove(inp_m.options[i]);
}
//选中当天
if (d.toLocaleString().substring(0,10) == inp_d.options[inp_d.selectedIndex].text)
{
h = d.getHours();
m = parseInt( d.getMinutes() ) + 30;
if ( m >60)
{
m -= 60;
h++;
}
m = m+ (5-m%5); //初始值从5的倍数开始
}
for (h; h<21; h++)
{
var opt = document.createElement("option");
opt.text = h<10 ? '0'+h : h;
inp_h.add(opt);
}
for (m; m<60; m+=5)
{
var opt = document.createElement("option");
opt.text = m<10 ? '0'+m : m;
inp_m.add(opt);
}
}