0

我想在 html 中有两个选择标签,一个用于小时,一个用于分钟。我希望在当前小时设置小时的默认值,在当前分钟设置分钟的值。我认为默认时间设置为例如 3,我应该有这样的事情:

<select name="hour">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected="selected">3</option>
<option value="4">4</option>
...
<option value="23">23</option>
</select>

现在我的问题是我如何使用 javascript 默认显示当前的小时和分钟?

4

2 回答 2

1

有称为和的 JavaScriptDate方法。所以给出:.getHours().getMinutes()

<select id="hour" name="hour">...</select>
<select id="minute" name="minute">...</select>

您可以在选择后出现的脚本块中执行以下操作(或称为 onload 或在 DOM 就绪时):

var currentDateTime = new Date();

document.getElementById("hour").value = currentDateTime.getHours();
document.getElementById("minute").value = currentDateTime.getMinutes();
于 2012-08-27T06:23:48.697 回答
0

根据您创建option元素的方式,一种方法是使用:

var now = new Date(),
    // we're adding one because JavaScript returns zero-based hours, 0-23
    hour = now.getUTCHours() + 1,
    sel = document.getElementById('hours'),
    opt;

for (var i=0; i<24; i++){
    opt = document.createElement('option');
    opt.value = i;
    opt.textContent = i;
    sel.appendChild(opt);
    if (i == hour) {
        opt.selected = true;
    }
}

JS 小提琴演示

这使用 JavaScriptDate()方法,getUTCHours()

如果您的option元素已经在 HTML 中设置,并且您只是更改selected默认设置:

var now = new Date(),
    hour = now.getUTCHours() + 1,
    sel = document.getElementById('hours'),
    curHour = sel.getElementsByTagName('option')[hour];

curHour.selected = true;

JS 小提琴演示

参考:

于 2012-08-27T06:27:13.590 回答