I am working on some project based on Twitter Bootstrap which using a datepicker from https://github.com/eternicode/bootstrap-datepicker (that is a fork from some other version), but it's missing a very important feature that I need - how to enable only specific date range (eg. from past 15 days till today), so any other date can't be even selected (not clickable).
I found a similar solution here on SO, which disables Saturdays and Sundays: Limit bootstrap-datepicker to weekdays only? http://jsfiddle.net/katowulf/zNbUT/5/ , but I dont know how to adjust it to my needs.
Thanks in advance.
The similar question you linked to ended up using quite a hack, but what you want is a lot simpler -- you're looking for the startDate
and endDate
options:
$('#dp1').datepicker({
format: 'mm-dd-yyyy',
startDate: '-15d',
endDate: '+0d' // there's no convenient "right now" notation yet
});
These options can take Date
objects, timedelta strings (as I did here), or date strings following the given format
.
Demo: http://jsfiddle.net/zNbUT/131/
Also, make sure you're using the code from github -- eyecon.ro's copy is the original code, with old bugs and without the newer features.
var startDate = new Date();
startDate.setDate(startDate.getDate()-15);
var endDate = new Date();
$('#dp1')
.datepicker().on('changeDate', function(ev){
if (ev.date.valueOf() > endDate.valueOf()){
alert('The date selected is too far in the future.');
} else if (ev.date.valueOf() < startDate.valueOf()){
alert('The date selected is too far in the past');
} else {
alert('fine')
}
});
http://jsfiddle.net/XSmx6/14/
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