我更新了我的代码,它使用新日期创建的字符串日期并添加回if语句中。这不是禁用字符串或范围。我也添加了日期选择器代码。如何在一个函数中包含一个函数
function unavailableDays(date) {
function createDateRange(first, last) {
var dates = [];
for(var j = first; j < last; j.setDate(j.getDate() + 7)) {
dates.push(new Date(j.getTime()));
}
var alwaysDisabled = [new Date("1963-3-10T00:00:00"), new Date("1963-3-17T00:00:00"), new Date("1963-3-24T00:00:00"), new Date("1963-3-31T00:00:00"), new Date("1965-9-18T00:00:00")];
return dates.concat(alwaysDisabled);
}
var disabledDays = createDateRange(new Date("1978-8-10T00:00:00"), new Date("1978-11-5T00:00:00"));
var yy = date.getFullYear(), mm = date.getMonth(), dd = date.getDate();
for (i = 0; i < disabledDays.length; i++) {
if($.inArray(yy + '-' + (mm+1) + '-' + dd,disabledDays) != -1 || new Date() < date) {
return [false];
}
}
return [true];
}
$(document).ready(function(){
$('.selector').datepicker({
inline: true,
dateFormat: 'yy-mm-dd',
constrainInput: true,
changeYear: true,
changeMonth: true,
minDate: new Date(1940, 1-1, 1),
maxDate: new Date(2011, 10-1, 24),
beforeShowDay: unavailableDays,
onSelect: function(dateText, inst) {
$("#img").attr("src", "http://www.example.com" + dateText + ".jpg");
var chosenDates = $.datepicker.parseDate('yy-mm-dd', dateText);
var backToString = $.datepicker.formatDate('MM dd' + ',' + ' yy', chosenDates);
$('.info').html('You are viewing:' + '<br />' +
backToString).addClass('background');
}
});
});
缩进代码可以提高可读性。 – 2012-04-09 01:42:55
您在'unavailableDays'之前缺少关键字'function'!这可能是问题吗?你没有收到错误吗? – bfavaretto 2012-04-09 01:43:45
这是在我的页面,它没有正确复制。抱歉。修正了这个和缩进。 – amespower 2012-04-09 01:46:28