#javascript #jquery #flatpickr
Вопрос:
Я использую jquery 3.6 и flatpickr 4.6.9 в своем проекте, но когда я пытаюсь создать экземпляр с помощью селектора jquery, он выдает сообщение об ошибке Uncaught TypeError: $datePlanted.flatpickr is not a function
. Ниже приведен jquery и html-код:
jQuery
import $ from 'jquery';
import flatpickr from 'flatpickr';
const $datePlanted = $('.plot-tree-form__date-planted-text')
$datePlanted.flatpickr({
enableTime: false,
dateFormat: 'Y-m-d'
});
HTML
<div class="plot-tree-form__form-group plot-tree-form__date-planted">
<label for="date-planted">
Date Planted Here
<input type="text" class="plot-tree-form__date-planted-text" name="date-planted" placeholder="Date here"/>
</label>
</div>
Согласно документации flatpickr, это должно работать. Как я могу решить эту проблему? Я застрял на этом очень долго. Любая помощь будет очень признательна.
Документация — https://flatpickr.js.org/getting-started/
Вот как я импортирую jquery и flatpickr в свой файл javascript
Комментарии:
1.1) у вас определенно есть
<script src=..flatpickr...
>? 2) это определенно после вашего скрипта src=jquery? и 3) у вас определенно нет другого тега сценария jquery после вашего src-скрипта flatpickr? Последнее часто случается при использовании фреймворка, такого как wordpress/asp.net-mvc, который помещает свой собственный jquery в нижней части тела.2. Наиболее важной частью вашего кода является та часть, которая включает библиотеки jquery и flatpickr. Вы не включили эту часть в вопрос, но почти наверняка именно в этом и кроется ошибка.
3. Ваш код работает нормально, как указано. jsfiddle.net/6wars20y Так что, скорее всего, проблема с тегами сценариев.
4. Я использую npm для загрузки flatpickr, поэтому я импортировал в свой файл javascript после импорта jquery, я прикрепил скриншот в вопросе сейчас
5. @ChrisLear Я отредактировал вопрос и добавил в код, как я импортирую jquery и flatpickr, а также скриншот
Ответ №1:
У меня была та же проблема, и мое решение было таким: после ссылки на jQuery, затем обратитесь К файлам css И js для flatpickr (один за другим).:
<script src="path/to/JQuery"></script>
<link rel="stylesheet" href="path/to/flatpickr.css">
<script src="path/to/flatpickr.js"></script>
Тогда просто:
<input class="calendar" type="text" placeholder="Select Date..">
<script>
$(".calendar").flatpickr();
</script>