我正在使用 Angularjs ui-date 来绑定 Jquery datepicker。我的页面中有两个日期选择器,分别命名为 start 和 end。
我想根据开始日期更改结束日期的起始值。无论如何动态更改日期选择器的选项。
对于 EX:
开始日期:2013 年 9 月 7 日结束日期的最短日期应为 2013 年 9 月 8 日。
我正在使用 Angularjs ui-date 来绑定 Jquery datepicker。我的页面中有两个日期选择器,分别命名为 start 和 end。
我想根据开始日期更改结束日期的起始值。无论如何动态更改日期选择器的选项。
对于 EX:
开始日期:2013 年 9 月 7 日结束日期的最短日期应为 2013 年 9 月 8 日。
我刚刚遇到了同样的问题,这就是我所做的:
假设您有以下html
<div ng-controller="MyDateCtrl">
<input ui-date="fromDatePickerOptions" type="text" ng-model="date.from" />
<input ui-date="toDatePickerOptions" type="text" ng-model="date.to" />
</div>
然后在你的 JS 中你会有类似的东西:
function MyDateCtrl($scope) {
$scope.date = {
from: new Date(),
to: new Date()
};
$scope.fromDatePickerOptions = {
dateFormat: 'M dd, yy'
};
$scope.toDatePickerOptions = {
dateFormat: 'M dd, yy'
};
$scope.$watch('date', function() {
// You could offset dates however you like according to your needs.
// Here, start cannot be after end and of course end cannot be before start.
$scope.fromDatePickerOptions.maxDate = $scope.date.to,
$scope.toDatePickerOptions.minDate = $scope.date.from;
}, true);
}
just的true
第二个参数$watch()
比较对象是否相等,而不是根据文档进行引用。)
$scope.fromDatePickerOptions
上的更改$scope.toDatePickerOptions
将使 ui-date 指令重新加载其选项。
而已!这对我来说很好。