【发布时间】:2017-03-23 19:48:41
【问题描述】:
我正在使用 angular-bootstrap-datetimepicker 模块让用户选择日期和时间,如何在视图呈现时添加默认日期和时间?我们是否有任何属性可以设置 booleab 值或任何其他更好的方法?
main.html
<div class="dropdown form-group">
<!-- <label>Start Date</label> -->
<a class="dropdown-toggle" id="dropdownStart" role="button" data-toggle="dropdown">
<div class="input-group date">
<input type="text" class="form-control" data-ng-model="dateRangeStart" placeholder=" Search Start Date">
<span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>
</div>
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<datetimepicker data-ng-model="dateRangeStart" data-datetimepicker-config="{ dropdownSelector: '#dropdownStart', renderOn: 'end-date-changed' }" data-on-set-time="startDateOnSetTime()" data-before-render="startDateBeforeRender($dates)"></datetimepicker>
</ul>
</div>
Ctrl.js
$scope.endDateBeforeRender = endDateBeforeRender
$scope.endDateOnSetTime = endDateOnSetTime
$scope.startDateBeforeRender = startDateBeforeRender
$scope.startDateOnSetTime = startDateOnSetTime
function startDateOnSetTime () {
$scope.$broadcast('start-date-changed');
}
function endDateOnSetTime () {
$scope.$broadcast('end-date-changed');
}
function startDateBeforeRender ($dates) {
if ($scope.dateRangeEnd) {
var activeDate = moment($scope.dateRangeEnd);
$dates.filter(function (date) {
$scope.searchObj.endDate = activeDate._i;
// console.log(activeDate);
return date.localDateValue() >= activeDate.valueOf()
}).forEach(function (date) {
date.selectable = false;
// console.log(date);
})
}
}
function endDateBeforeRender ($view, $dates) {
if ($scope.dateRangeStart) {
var activeDate = moment($scope.dateRangeStart).subtract(1, $view).add(1, 'minute');
$dates.filter(function (date) {
$scope.searchObj.startDate = activeDate._i;
// console.log(activeDate._i);
return date.localDateValue() <= activeDate.valueOf()
}).forEach(function (date) {
date.selectable = false;
// console.log(date);
})
}
}
【问题讨论】:
标签: javascript angularjs twitter-bootstrap