jquery datepicker в диалоговом окне jquery не будет отображаться после нажатия отмены - PullRequest
1 голос
/ 16 января 2012

Я успешно создал средство выбора даты jquery в диалоговом окне jquery, которое было загружено с помощью функции load().

Мне удалось этого добиться, переопределив событие открытия диалогового окна:

 open: function (event, ui) {
                    if ($('input.date-picker').length > 0) {
                        $('input.date-picker').datepicker({
                            showOn: "button",
                            buttonImage: "/Content/images/calendar.gif",
                            buttonImageOnly: true
                        });
                        $('input.date-picker').datepicker("refresh");
                    }
                },

DatePicker успешно отображается после того, как я нажимаю кнопку изображения. Но я заметил нечто странное: когда я открываю диалоговое окно, нажимаю «Отмена», затем снова открываю диалоговое окно и нажимаю кнопку с изображением календаря, средство выбора даты не отображается.

Могу помочь, я также переопределил событие закрытия диалога:

close: function (event, ui) {
                    $('input.date-picker').datepicker("destroy");
                    $(this).dialog("destroy");
                }

Спасибо

Ответы [ 2 ]

1 голос
/ 16 января 2012

В функции close вы пытаетесь уничтожить указатель даты на входе, где класс равен date-picker, но после предыдущего вызова средства создания указателя даты класс ввода изменился на hasDatepicker, поэтому попробуйте использовать

$('input.hasDatepicker').datepicker("destroy");

Редактировать:

Datepicker должен реализовать этот close метод:

close: function (event, ui) {
     $('input.hasDatepicker').datepicker("destroy");
     $(this).dialog("destroy");
     $(this).remove();
}
0 голосов
/ 16 мая 2014

Что сработало для меня -

Внутри диалогового окна, если у меня есть несколько входов с классом datepicker, тогда

$(".datepicker").removeClass('hasDatepicker').datepicker();  

В основном, чтобы удалить класс hasDatepicker перединициализация datepicker снова.

Я был на версии 1.8.18 из jquery.ui.datepicker

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...