Я надеюсь получить помощь по моей проблеме с jquery datepicker.
Пожалуйста, посетите этот сайт для получения информации о проблеме с примерами кода:
http://codingforums.com/showthread.php?p=929427
По сути, я пытаюсь заставить работать 1-й и 31-й день, и еще не нашел способ сделать это. Они говорят, что это может быть ошибка в календаре jquery.
Вот код.
//var disabledDays = ['3-31-2010', '3-30-2010', '3-29-2010', '3-28-2010', '3-2-2010', '3-1-2010', '4-1-2010' ];
var checkDays = null;
функция noWeekendsOrHolidays (дата)
{
// необязательно: убедитесь, что дата только для даты, без временной части:
date = новая дата (date.getFullYear (), date.getMonth (), date.getDate ());
// no point in checking if today is past the given data:
if ( (new Date()).getTime() > date.getTime() ) return [false,'inthepast'];
if ( checkDays == null )
{
checkDays = [];
// convert disabledDays to a more reasonable JS form:
for ( var d = 0; d < disabledDays.length; ++d )
{
var p = disabledDays[d].split("-");
checkDays[d] = new Date( parseInt(p[2]), parseInt(p[0])-1, parseInt(p[1]) );
}
}
var datetime = date.getTime();
for ( var i = 0; i < checkDays.length; i++)
{
if ( checkDays[i].getTime() == datetime ) return [false,'holiday'];
}
return [true,'']; // default CSS style when date is selectable
}
jQuery(document).ready(function() {
<%
response.write "var theSelectedDay = $.datepicker.parseDate(""y-m-d"", '" & theDate & "');" & vbcr
%>
jQuery('#datepicker2').datepicker({
dateFormat: 'yy-mm-dd',
constrainInput: true,
firstDay: 1,
defaultDate: theSelectedDay,
beforeShowDay: noWeekendsOrHolidays,
onSelect: function(date) {
endDate = date;
startDate = theSelectedDay;
}
});
});
TheSelectedDay отформатирован как ['2010-3-1']
Я установил часы на моем компьютере, чтобы проверить это. Это установлено 1 марта.
У меня большой календарь на главной странице, и когда пользователь нажимает на день, появляется всплывающее окно выбора даты. Как я уже сказал, все отлично работает на 2-30 дней, но не на 1 и 31 день.
Если они выберут день 2 (а это было 2 марта), то понедельник, конечно, не будет выбираться с прошлого дня.
Надеюсь, это поможет.