2015-12-05 6 views
1

Попытка получить обратный вызов dayClick(), чтобы получить текущую дату. Вместо этого, независимо от того, что я делаю, кажется return YESTERDAY и даже показывает неправильный день недели (т. Е. Он скажет «пятница», когда фактический день соответствует дате в субботу). Одна странная вещь, которую следует отметить, заключается в том, что это ТОЛЬКО происходит, когда я нажимаю даты около "today" (т. Е. Подсвеченная дата), иногда он исправляет себя, иногда ... нет.Fullcalendar, возвращающий неверную дату в dayClick()

Вот мой JS:

(function() { 
    'use strict'; 

    $(document).ready(function(){ 
     // Full calendar 
     $('#calendar').fullCalendar({ 
      header: { 
     left: '', 
     center: 'title', 
     right: '' 
     }, 
      dayClick: function(date) { 
       console.log(date); 
     } 
    }); 
    }); 
})(); 

И мой HTML:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 
    <title>VetPro Dashboard</title> 

    <!-- Style Css--> 
    <link rel="stylesheet" href="../../vendor/bower_components/fullcalendar/dist/fullcalendar.min.css"> 

    <!-- jQuery --> 
    <script type="text/javascript" src="../../vendor/bower_components/jquery/dist/jquery.min.js"></script> 
    <script type="text/javascript" src="../../vendor/bower_components/moment/min/moment.min.js"></script> 
    <script type="text/javascript" src="../../vendor/bower_components/fullcalendar/dist/fullcalendar.min.js"></script> 
    <script type="text/javascript" src="../../assets/javascripts/calendar_scheduler.js"></script> 
    </head> 

    <body class="split-background"> 

    <!-- Start Body --> 
    <div class="container-fluid" id="vetpro-dashboard"> 
     <h1 class="page-header text-center">Dashboard</h1> 
     <div class="container"> 
     <ul id="tabs" class="text-center col-xs-12 font-mobile-17"> 
      <a href="dashboard_projects.html"><li class="col-xs-2">Projects</li></a> 
      <li class="col-xs-2 active">Schedule</li> 
      <a href="dashboard_transactions.html"><li class="col-xs-2">Transactions</li></a> 
      <a href="dashboard_profile.html"><li class="col-xs-2">Profile</li></a> 
      <a href="#"><li class="col-xs-2">Support</li></a> 
     </ul> 
     </div> 
     <div class="container container-border" id="dashboard-schedule"> 
     <div class="col-md-6"> 
      <div id="calendar"> 
      </div> 
     </div> 
     <div class="col-md-6" id="exceptions"> 
      <div id="scheduler"> 
      <div id="timepicker"> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    <!-- End Body --> 
    </body> 
</html> 

И, наконец, журнал консоли, который показывает, когда я нажимаю 12/4/15 (дата этой должности):

n {_isAMomentObject: true, _isUTC: true, _offset: 0, _locale: R.b, _d: Thu Dec 03 2015 16:00:00 GMT-0800 (Pacific Standard Time)…} 

Что здесь не так? Какие шаги я могу предпринять, чтобы этого не произошло в будущем? Спасибо!

ответ

0

По какой-то причине добавление кнопок «next» и «prev» в заголовке устраняет проблему. Не знаю, почему. Надеюсь, что это поможет кому-то еще в будущем решить эту проблему.

+2

У меня такая же проблема. И кнопки next и prev уже есть. –

0

Вы можете использовать следующий метод, чтобы получить дату: -

dayClick: function(date, jsEvent, view) { 

    alert('Clicked on: ' + date.format()); 

    alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY); 

    alert('Current view: ' + view.name); 

} 

В Jquery fullcalendar, вы получите дату предыдущей, вы должны сделать какой-то процесс на эту дату.

+0

Я ценю ваше мнение, но почему она возвращает только накануне, когда я нажимаю вокруг сегодняшней даты? Он не делает этого в другие дни в календаре. Это то, что меня смущает. Обычно я мог бы использовать одну и ту же логику, чтобы исправлять эту ошибку снова и снова, однако, поскольку она неожиданно изменяется, я очень мало могу ее сделать, чтобы противодействовать этому. –

+1

Фактически он делает это в другие даты. Я нахожу, что когда я конвертирую 'date.format()' в дату (т. Е. 'New Date (date.format())', независимо от того, какую дату я нажимаю в календаре, - если я предупреждаю значение с помощью dayClick, это всегда за одним днем. Я подозреваю, что это проблема с часовым поясом. –

4

попробовать это:

dayClick: function(date, jsEvent, view) { 
    date.format(); 
} 
Смежные вопросы