Я использую отзывчивый календарь jquery
из http://w3widgets.com/responsive-calendar в моем Web Application
.Я использую следующий код для инициализации календаря: // Инициализация отзывчивого календаря
if(jQuery('.responsive-calendar').length)
{
jQuery('.responsive-calendar').responsiveCalendar({
format: 'dd/MM/yyyy',
allRows: false,
startFromSunday: true,
onInit: function() {
if(jQuery("#selectedDay").val().length)
{
var currentDate = jQuery("#selectedDay").val();
var dateSplit = currentDate.split('-');
//jQuery('.responsive-calendar').responsiveCalendar(dateSplit[2]+"-"+dateSplit[1]);
jQuery('.responsive-calendar').responsiveCalendar('2014-02');
jQuery(".responsive-calendar a[data-day=6][data-month=2][data-year=2014]").addClass('selectedDay');
//jQuery('.responsive-calendar a[data-day=' + dateSplit[0].replace(/^0+/, '') + '][data-month=' + dateSplit[1].replace(/^0+/, '') + '][data-year=' + dateSplit[2] + ']').addClass('selectedDay');
}
else
{
jQuery('.responsive-calendar .today a').addClass('selectedDay');
}
},
onDayClick: function(events) {
jQuery(".alert").hide();
var thisDayEvent, key;
var monthNames = new Array("undefined", "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
key = addLeadingZero(jQuery(this).data('year') + '-' + monthNames[jQuery(this).data('month')] + '-' + addLeadingZero(jQuery(this).data('day')));
var url = jQuery('#cbrainEntityUrl').val();
var activity = jQuery('#contentType').val();
url = url + activity + "/" + key
window.location.href = url;
}
});
}
Также следующий скрипт при загрузке страницы:
jQuery(window).bind("load", function() {
//Set current selected day on initial page load
if(jQuery('#selectedDay').length)
{
var currentDate = 0;
if(jQuery("#selectedDay").val().length)
{
currentDate = jQuery("#selectedDay").val();
var dateSplit = currentDate.split('-');
jQuery('.responsive-calendar').responsiveCalendar('2014-02');
//jQuery('.responsive-calendar a[data-day=' + dateSplit[0].replace(/^0+/, '') + '][data-month=' + dateSplit[1].replace(/^0+/, '') + '][data-year=' + dateSplit[2] + ']').addClass('selectedDay');
}
else
{
var nowDate = new Date();
var curr_day = nowDate.getDate();
curr_day = ("0" + curr_day).slice(-2);
var curr_month = nowDate.getMonth() + 1;
curr_month = ("0" + curr_month).slice(-2);
var curr_year = nowDate.getFullYear();
currentDate = curr_day + "-" + curr_month + "-" + curr_year;
jQuery("#selectedDay").val(currentDate);
jQuery('.responsive-calendar .today a').addClass('selectedDay');
}
}
});
После двух строк скриптов при выполнении вКонсоль перейдет к указанному месяцу и установит выбранный день, как выделено, добавив класс:
jQuery('.responsive-calendar').responsiveCalendar('2014-02');
jQuery(".responsive-calendar a[data-day=6][data-month=2][data-year=2014]").addClass('selectedDay');
Но сценарии при загрузке не переходят к указанной дате.Все, что я пытаюсь сделать, это установить календарь на указанную дату и добавить туда класс, чтобы он оставался выбранным.