0

HTMLに2つのselectタグが必要です。1つは時間用、もう1つは分用です。デフォルト値のhourを現在の時間に設定し、minuteの値を現在の分に設定したいと思います。たとえば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要素の作成方法に応じて、次の1つのアプローチを使用します。

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 に答える