我不太擅长Javascript Time操作。
以下是我要做的事情:我有一个需要结束时间下拉列表的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>
任何人都知道如何在javascript / jQuery中执行此操作。我想做一些像这样的动态:
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
}
答案 0 :(得分:19)
以下代码段可以帮助您理解:
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