Вот функция для преобразования текущего времени в ближайшие полчаса в форме, используемой в ваших параметрах (например, ближайшее время типа «10:30 PM»), а затем способ использовать это время для выбора правильной опции.
function getNearestHalfHourTimeString() {
var now = new Date();
var hour = now.getHours();
var minutes = now.getMinutes();
var ampm = "AM";
if (minutes < 15) {
minutes = "00";
} else if (minutes < 45){
minutes = "30";
} else {
minutes = "00";
++hour;
}
if (hour > 23) {
hour = 12;
} else if (hour > 12) {
hour = hour - 12;
ampm = "PM";
} else if (hour == 12) {
ampm = "PM";
} else if (hour == 0) {
hour = 12;
}
return(hour + ":" + minutes + " " + ampm);
}
Вы можете выбрать желаемую опцию следующим образом:
// remove any previous selection
$('#select-choice-etime option').removeAttr('selected');
// select the one that matches the current time
$('#select-choice-etime option[value="' + getNearestHalfHourTimeString() + '"]').attr('selected', 'selected');
Вы можете увидеть, как она работает здесь: http://jsfiddle.net/jfriend00/Zz7pW/