I want to disable specific dates in the date picker of AngularJS.
I am using AngularJS-bootstrap css for components. 
The dates which I want to disable will be changing dynamically based on the selection of previous value in combo.
I believe date-disabled="disabled(date, mode)" should work, though not sure.
How can i do this ?
I'm assuming you are using the Datepicker directive from Angular-UI. The date-disabled attribute lets you disable certain dates (weekends for example). See this plunk http://plnkr.co/edit/gGAU0L?p=preview
If you want to dynamically disable dates based on selection, you can use the min and max attributes and watchers. See http://plnkr.co/edit/W5pb1boMLOHZFnWkMU8o?p=preview
http://angular-ui.github.io/bootstrap/#/datepicker
Note, as of now, in the newer version(from 1.1.0) onward of AngularUI Bootstrap, you have to use datepicker-options attribute to do the date disable as well as things like max/min date. 
in the html control, add
datepicker-options="vm.dateOptions"
or datepicker-options="dateOptions" if you are not using controller as but $scope directly. 
Then in your controller, define the dateOptions object.
    vm.dateOptions = {
        maxDate: new Date(),
        dateDisabled: myDisabledDates
    };  
    function myDisabledDates(dateAndMode) {
        return ( dateAndMode.mode === 'day' && ( dateAndMode.date.getDay() === 0 || dateAndMode.date.getDay() === 6 ) );
    }
!!!Notice!!! the function signature of the dateDisabled changed. Previously it accept a date object and a mode string. In the newer version, it is a wrapped object containing both. 
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With