Javascript动态时间下拉列表

Javascript动态时间下拉列表,javascript,html-select,Javascript,Html Select,我不太擅长Javascript时间操纵 以下是我试图做的:我有一个UI,需要一个结束时间下拉列表。这是一组有限的时间,基本上是从早上7点到晚上10点,以15分钟为增量。我正在使用jQuery,希望动态创建一个如下所示的选择框: <select> <option value="420">7:00 AM</option> <option value="435">7:15 AM</option> <option value="450"&

我不太擅长Javascript时间操纵

以下是我试图做的:我有一个UI,需要一个结束时间下拉列表。这是一组有限的时间,基本上是从早上7点到晚上10点,以15分钟为增量。我正在使用jQuery,希望动态创建一个如下所示的选择框:

<select>
<option value="420">7:00 AM</option>
<option value="435">7:15 AM</option>
<option value="450">7:30 AM</option>
etc...
</select>
for(int i = 420; i<=1320; i+=15){
//use value of i to increment a date or something and create an option for the drop down... this is where I am stuck
}

上午7:00
上午7:15
上午7:30
等
任何人都知道如何在javascript/jQuery中实现这一点。我想做一些动态的事情,比如:

<select>
<option value="420">7:00 AM</option>
<option value="435">7:15 AM</option>
<option value="450">7:30 AM</option>
etc...
</select>
for(int i = 420; i<=1320; i+=15){
//use value of i to increment a date or something and create an option for the drop down... this is where I am stuck
}

for(int i=420;i下面的代码片段应该可以帮助您理解这一点:

function populate(selector) {
    var select = $(selector);
    var hours, minutes, ampm;
    for(var i = 420; i <= 1320; i += 15){
        hours = Math.floor(i / 60);
        minutes = i % 60;
        if (minutes < 10){
            minutes = '0' + minutes; // adding leading zero
        }
        ampm = hours % 24 < 12 ? 'AM' : 'PM';
        hours = hours % 12;
        if (hours === 0){
            hours = 12;
        }
        select.append($('<option></option>')
            .attr('value', i)
            .text(hours + ':' + minutes + ' ' + ampm)); 
    }
}

populate('#timeSelect'); // use selector for your select
函数填充(选择器){
var select=$(选择器);
var小时,分钟,安培数;

对于(var i=420;我只有一个小时变量和一个分钟变量。将分钟变量增加15分钟,如果分钟变量超过60,则增加小时变量。与使用日期相比,它的效率和开销可能更低。