Reputation: 13856
Following code is intended to restrict selection of today's date in datepicker.
jQuery(function () {
var dateModifier = {
beforeShowDay: function (dd) {
var today = new Date();
if (dd.getDate() === today.getDate()) {
return false;
}
else {
return true;
}
}
};
jQuery("#txt1").datepicker(dateModifier);
});
For this purpose I have explicity passed dateModifier
object, containing beforeShowDay
event. I read on jQuery doc that this event is fired for all the dates shown in calender. When we return false
, dd
date would be disabled.
However this code disables all the dates. What am I missing.
HTML:
<input id="txt1" type="text" name="name" value=" " />
Upvotes: 0
Views: 119
Reputation: 9174
var disabledDays = ["9-21-2010", "9-24-2010", "9-27-2010", "9-28-2010", "9-3-2010", "9-17-2010", "9-2-2010", "9-3-2010", "9-4-2010", "9-5-2010"];
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
return [false];
}
}
return [true];
}
var dateModifier = {
beforeShowDay: disableAllTheseDays
};
jQuery("#txt1").datepicker(dateModifier);
Check here for some more
Upvotes: 3