Datepicker и FullCalender.io не могут работать вместе. Datepicker не является функцией - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь запустить экземпляры fullcalendar и datepicker в одном HTML-файле. Я могу получить полный календарь, работающий как положено, но я не могу заставить работать DatePicker вместе с сайтом.

Когда я запускаю datepicker в отдельном html-файле, он работает нормально.

Ошибка, которую я получаю в консоли, следующая:

jQuery.Deferred исключение: $ (...). Datepicker не является функцией TypeError: $ (...). Datepicker не является функцией

и

Uncaught TypeError: $ (...). Datepicker не является функцией на HTMLDocument.

Я провожу это через Джанго, но я не думаю, что это уместно.

Ниже приведен мой код, чтобы это произошло, идея состоит в том, чтобы открыть модал и добавить туда указатель даты:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">

  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ"
  crossorigin="anonymous">
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
  crossorigin="anonymous">
  
  <link href="{%  static 'css/fullcalendar.min.css' %}" rel='stylesheet' />
  <link href="{%  static 'css/fullcalendar.print.min.css' %}" rel='stylesheet' media='print' />

  <script src="{%  static 'js/moment.min.js' %}"></script>
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
  <script src="{%  static 'js/jquery.min.js' %}"></script>
  <script src="{%  static 'js/fullcalendar.min.js' %}"></script>


  <link href="{%  static 'css/datepicker.css' %}" rel='stylesheet' />
  <script src="{%  static 'js/datepicker.js' %}"></script>
  
</script>
<script>
  $(document).ready(function() {

    $('#calendar').fullCalendar({
      theme: true,
      themeSystem: 'bootstrap4',
      header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay,listWeek'
      },
      navLinks: true, // can click day/week names to navigate views

      weekNumbers: false,
      weekNumbersWithinDays: true,
      weekNumberCalculation: 'ISO',

      selectable: true,
      editable: true,
      eventLimit: true // allow "more" link when too many events

    });

  });

</script>
<style>

body {
  margin-top: 80px;
  padding: 0;
  font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
  font-size: 14px;
}

#calendar {
  max-width: 900px;
  margin: 0 auto;
  margin-bottom: 80px;
}

#main-footer{
  margin: 0 auto;
  width: 100%;

}

</style>
<title>{% block title %}ProSquad | Scheduler{% endblock %}</title>
</head>


<body id="home">

  
      <!-- Button trigger modal -->
    <button type="button" class="btn btn-primary" data-target="#modal" data-toggle="modal">
      Launch the demo
    </button>

    <!-- Modal -->
    <div class="modal fade" id="modal" role="dialog" aria-labelledby="modalLabel" tabindex="-1">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="modalLabel">Datepicker</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <input type="text" class="form-control" data-toggle="datepicker">
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
          </div>
        </div>
      </div>
    </div>
  </div>

      <div id="calendar"></div>

      <footer id="main-footer" class="bg-dark">
        <div class="container">
          <div class="row">
            <div class="col text-center text-white py-4">
              <h3>LoopLab</h3>
              <p>Copyright &copy;
                <span id="year"></span>
              </p>
            </div>
          </div>
        </div>
      </footer>

      
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
    crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
    crossorigin="anonymous"></script>
    <script>
    //Get Current Year for copyright
    $('#year').text(new Date().getFullYear());
  </script>
  <script>
    $(function() {
      $('[data-toggle="datepicker"]').datepicker({
        autoHide: true,
        zIndex: 2048,
      });
    });
  </script>
</body>

</html>

Это приводило меня в бешенство в течение нескольких дней, и, надеясь, что это просто глупость, любая помощь будет принята с благодарностью!

...