我想在AngularJS
的日期选择器中禁用特定日期。
我正在使用AngularJS-bootstrap
css作为组件。
我要禁用的日期将根据组合中之前值的选择动态更改。
我相信date-disabled="disabled(date, mode)"
应该有效,但不确定。
我该怎么做?
答案 0 :(得分:16)
我假设你正在使用Angular-UI的Datepicker
指令。 date-disabled
属性允许您禁用某些日期(例如,周末)。请参阅此插件http://plnkr.co/edit/gGAU0L?p=preview
如果您想根据选择动态停用日期,可以使用min
和max
属性和观察者。见http://plnkr.co/edit/W5pb1boMLOHZFnWkMU8o?p=preview
答案 1 :(得分:6)
注意,截至目前,在AngularUI Bootstrap的较新版本(从1.1.0开始)中,您必须使用datepicker-options
属性来执行日期禁用以及最大/最小日期之类的操作。
在html控件中,添加
datepicker-options="vm.dateOptions"
如果您不直接使用datepicker-options="dateOptions"
而controller as
,请或$scope
。
然后在您的控制器中,定义dateOptions对象。
vm.dateOptions = {
maxDate: new Date(),
dateDisabled: myDisabledDates
};
function myDisabledDates(dateAndMode) {
return ( dateAndMode.mode === 'day' && ( dateAndMode.date.getDay() === 0 || dateAndMode.date.getDay() === 6 ) );
}
!!!通知!!! dateDisabled
的功能签名已更改。以前它接受日期对象和模式字符串。在较新的版本中,它是包含两者的包装对象。