bootstrap-datetimepicker-widget не загружается во всплывающем окне - PullRequest
2 голосов
/ 28 марта 2019

Я пытаюсь интегрировать eonasdan datetime picker , загрузив как "bower install eonasdan-bootstrap-datetimepicker#latest --save", который установлен с ver 4.17.47 , ссылаясь на http://eonasdan.github.io/bootstrap-datetimepicker/

Itотлично работает на всех страницах, кроме модального всплывающего окна.Нет проблем в консоли браузера, когда я нажимаю на поле ввода bootstrap-datetimepicker-widget не загружено -

Ниже приведен код -

Html : input type='text' class="form-control" id='datetimepicker8'

Script : $('#datetimepicker8').datetimepicker();

Есть предложения?

Я использую все необходимые библиотеки, так как он отлично работает на других страницах моего приложения.

Я пробовал с jquery 3.2.1 / 3.3.1, используя moment.js 2.18.1, момент-часовой пояс 0.5.13, bootstrap 3.3.7, datetimepicker 4.7.47

Я использую полимерный загрузчик для загрузки пользовательских файлов * .html вместе с компонентами bower с базовой структурой nodejs.

Все пользовательские файлы html являютсяинкапсулируется с <dom-module>, когда загружается родительская html-страница (которая имеет ссылку на модальное всплывающее окно), вызывается его функция готовности вместе с функцией готовности модального всплывающего окна (еще один * .html), который загружает datetimepicker, но когда янажмите на поле ввода datetimepicker, календарь не отображается.bootstrap-datetimepicker-widget не отображается при проверке с консоли браузера, однако виджет отлично отображается на других страницах моего приложения.

Я попытался отладить функцию datetimepicker() на консоли браузера, а также с помощьюследующая функция оповещения, чтобы понять возвращенный объект datetimepicker.

alert(JSON.stringify($('#datetimepicker8').datetimepicker(), null, 4));

Результат вышеприведенного оповещения в всплывающем окне, где datetimepicker не работает, совпадает с результатом мест, где datetimepicker работает в моем приложении,он просто не отображает календарь datetimepicker во всплывающем окне.

Я подумал о проблеме с браузером, поэтому попробовал использовать следующую версию Chrome: Версия 73.0.3683.86 (Официальная сборка) (32-разрядная версия) Версия 73.0.3683.86 (Официальная)Сборка) (64-разрядная версия) Версия 72.0.3626.81 (Официальная сборка) (64-разрядная версия) ПРИМЕЧАНИЕ. Мое приложение разработано в основном для Chrome, мы не поддерживаем другие браузеры.

Также пытались открыть окно Incognito Chrome после удаления моегоChrome профиль.

Я также пытался включить cdn js звонки прямо на попup * .html файл, но при отладке я обнаружил, что он ссылается на nodejs 3.2.1 из пакета jspm приложения и datetimepicker из загрузчика полимера, что совершенно правильно.

HTML : input type='text' class="form-control" id='datetimepicker8'

Script : $('#datetimepicker8').datetimepicker();

Вышеупомянутый вызов сценария помещается внутри готовогоfunction.

Ожидаемый результат: datetimepicker должен загружаться в поле ввода.Фактический результат: при щелчке поля ввода datetimepicker не загружается.

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Спасибо, Удит, Мишу и команда, Ваш ответ дал мне направление. Ниже приводится решение, которое я применил -

Datetimepicker не загружался правильно в модальном всплывающем окне, которое появляется как отдельное окно, поэтому я добавил следующую функцию загрузки jquery, чтобы она заработала.

$ (function () {$ ('# datetimepicker8'). Datetimepicker ();});

Большое спасибо.

0 голосов
/ 28 марта 2019

Вы пытались вызвать $('#datetimepicker8').datetimepicker() внутри модального всплывающего события show.bs.modal. Я предполагаю, что вы привязываете datepicker к документу или загрузке страницы. Вам нужно привязать его, когда появится модальное всплывающее окно

...