Я пытаюсь запустить экземпляры 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">×</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 ©
<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>
Это приводило меня в бешенство в течение нескольких дней, и, надеясь, что это просто глупость, любая помощь будет принята с благодарностью!