2016-01-26 4 views
1

У меня есть выбор из года, так что полный календар может перейти к определенному году и кнопке, чтобы сделать это. Вот мой код:Предупреждение о устаревании в моем плагине fullcalendar

$('#btnfilter').on('click', function() { 
    $('#calendar').fullCalendar({ 
     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,basicWeek,basicDay' 
     }, 
     eventLimit: true, 
     events: '../js/fullcalendar-2.6.0/events.json.php' 
    }); 
    var year = $('#slctyear').val(); 
    $('#calendar').fullCalendar('gotoDate', year); 
}) 

этот код работал, но у меня есть ошибки в консоли. Я прочитал его, но я не могу найти ответ.

+0

Какую консольную ошибку вы видите? –

+0

Предупреждение об устаревании: момент строительства возвращается к js Date. Это обескураживает и будет удалено в предстоящем крупном выпуске. Дополнительную информацию см. На странице https://github.com/moment/moment/issues/1407. Аргументы: [object Object] –

+0

Является ли '$ ('slctyear')' поле ввода? –

ответ

1

В сообщении об ошибке говорится, что дата, в которую вы переходите на полный календарь, находится в формате, который не будет поддерживаться по дороге. Полный календарь использует библиотеку под названием MomentJS для анализа даты, а MomentJS изменяет способ обработки дат.

Эта длинная нить Github, короче говоря, вам нужно передать должным образом отформатированную дату в полный календарь.

Оказывается, вы передаете один год (как 2016) на полный календарь, как это:

$('#calendar').fullCalendar('gotoDate', year); 

Этот вопрос year не является допустимым Дата ISO. Чтобы сделать его действительным и предотвратить ошибку, вам необходимо отформатировать дату до ее передачи в полнофункциональный календарь.

Чтобы правильно отформатировать дату, необходимо использовать Date() Javascript. В вашем случае, вы хотите сделать:

var year = new Date($('#slctyear').val(), 0 , 1); 
$('#calendar').fullCalendar('gotoDate', year); 

Date($('#slctyear').val(), 0 , 1) часть создаст ISO отформатированные дату полуночи на 1 января независимо года форма ввода содержит.

Это предотвратит ошибку.

+0

Спасибо, это сработало ... Где я могу прочитать дату формата ISO? –

+0

Дата ISO находится в формате 'YYYY-MM-DD', а также некоторые варианты, если включено время или неделя. Подробнее [здесь] (https://en.wikipedia.org/wiki/ISO_8601) –

Смежные вопросы