Я создал два раскрывающихся списка Часы работы & Часы закрытия с использованием параметров ng в angularJS.Параметры раскрывающегося списка заполняются одним и тем же массивом $scope.availableTimes
Ниже приведен HTML-код:
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="exampleFormControlSelect1">Opening </label>
<select class="form-control" data-ng-options="time.display for time in availableTimes" data-ng-model="selectedFromTime">
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="exampleFormControlSelect1">Closing</label>
<select class="form-control" data-ng-options="time.display for time in availableTimes" data-ng-model="selectedToTime">
</select>
</div>
</div>
</div>
Ниже приведен скрипт AngularJS
var app = angular.module('angularjs-starter', []);
app.controller('MainCtrl', function($scope) {
$scope.availableTimes = [];
$scope.availableTimes.push({
'msValue': 0,
'display': '12:00 Morning'
});
for (var msValue = 900000; msValue <= 85500000; msValue += 900000) { // 90.000ms = 15 min, 85.500.000ms = 11:45PM
$scope.availableTimes.push({
'msValue': msValue,
'display': moment(msValue).utc().format("h:mm A")
})
}
var dayMS = 86400000 - 1;
$scope.availableTimes.push({
'msValue': dayMS,
'display': '12:00 Midnight'
});
console.log($scope.availableTimes);
});
Плункер
Как видно, оба раскрывающихся списка теперь имеют список времени, начинающийся с 12:00 до 12:00. Утро с интервалом в 15 минут.
вот так:
12: 00 Утро
12:15
12:30
12:45
.....
.....
11:45 вечера
12:00 Полночь
What I can do to make the Closing Hour drop-down options lists starts with the value that is 15 min greater than Opening hours.
Пример:
Если часы работы выбраны как 8: 00:00 Раскрывающийся список закрытия часов начнется с 8:15 вместо 12:00 утра.
Часы работы
12:00 Утро
....
....
8:00 (выбрано)
8:15
8:30
....
12:00 полночь
Часы закрытия
8:00
8:15
8:30
.......
.......
12:00 полночь
00:15
12:30
.......
.......
7:45 утра
Надеюсь, этот пример дает представление о том, чего я пытаюсь достичь.Любая помощь будет оценена.