【发布时间】:2014-08-15 06:59:59
【问题描述】:
我创建了两个指令用于输入字段 start_at 和 end_at,以显示 JQuery 日期选择器
PLUNKR:http://plnkr.co/edit/s71WDURou0QlRzM8Kjkc?p=preview
JS:
app.directive("startDateCalendar", [
function() {
return function(scope, element, attrs) {
return element.datepicker({
dateFormat: "yy-mm-dd",
numberOfMonths: 2,
defaultDate: scope.campaign.start_at,
beforeShowDay: $.datepicker.noWeekends,
onSelect: function(date) {
scope.campaign.start_at = date;
scope.$apply();
}
});
};
}
]).directive("endDateCalendar", [
function() {
return function(scope, element, attrs) {
return element.datepicker({
dateFormat: "yy-mm-dd",
numberOfMonths: 2,
minDate: scope.campaign.start_at,
defaultDate: scope.campaign.end_at,
beforeShowDay: $.datepicker.noWeekends,
onSelect: function(date) {
scope.campaign.end_at = date;
return scope.$apply();
}
});
};
}
]);
HTML:
<input type="text" start-date-calendar ng-model="campaign.start_at" />
<input type="text" end-date-calendar ng-model="campaign.end_at" />
我希望发生的事情:
当用户更新
campaign.start_at时,campaign.end_at的minDate将为campaign.start_at当用户更新
campaign.end_at时,campaign.start_at的maxDate将为campaign.end_at
我尝试过使用 AngularJS UI Datepicker,效果很好,但是我需要一个选项来在选择器中显示 2 个月,这让我改用 JQuery Datepicker。
【问题讨论】:
-
您使用的是哪个日期选择器?
-
我正在使用 JQuery 日期选择器。我刚刚更新了我的问题。谢谢!
-
您可以使用相同的下拉开关来打开两个日期选择器或查看date-range-picker for angular
-
@HarishR 请看这个 plunker plnkr.co/edit/s71WDURou0QlRzM8Kjkc?p=preview 看看我想要实现的目标
标签: angularjs datepicker