Кнопка возврата jquery ui datepicker переходит на 1899

Должно быть, мне не хватает какой-то настройки или чего-то еще, но когда я использую кнопку «Назад», средство выбора даты переходит на 1899 год из текущего года.

Кто-нибудь еще это видел и исправил?

(Вы можете увидеть различные комбинации, которые я закомментировал.)

    $('.dialog-search,#from')
   .datepicker({
    defaultDate: 'c-1m',
    dateFormat: 'yymmdd',
    //changeMonth: true,
    changeYear: true,
    showAnim: 'fadeIn',
    duration: 200,
    //gotoCurrent: true, 
    showOtherMonths: true,
    selectOtherMonths: true,
    currentText: 'Now',
    shortYearCutoff: '+20',
    //showWeek: true,
    //firstDay: 1,
    numberOfMonths: 1,
    showButtonPanel: true,
    yearRange: 'c-200:c',
    onSelect: function(selectedDate,inst) {
     $('.dialog-search,#from').val(selectedDate);
    }
   });

person prl    schedule 30.09.2010    source источник
comment
Я все это точно скопировал и не могу воспроизвести.   -  person RememberME    schedule 30.09.2010


Ответы (7)


У меня была эта проблема, когда у меня было несколько текстовых входов с одним и тем же идентификатором, что легко сделать с платформами MVC, когда у вас есть несколько редакторов на странице для одного и того же класса модели. Я разрешил это, явно указав Id и оставив Name как есть, чтобы разрешение модели работало при обратной передаче.

person Boris B.    schedule 28.08.2012
comment
Это было причиной для меня. - person ErwinM; 08.05.2014

Я столкнулся с этой проблемой при звонке

$(...).datepicker('destroy')

перед повторной инициализацией средства выбора даты.

person Ondrej Machulda    schedule 03.04.2012
comment
Да, я тоже испытал это, когда метод «уничтожить» вызывается перед инициализацией средства выбора даты. Выбор даты работал нормально после удаления метода «уничтожить» перед инициализацией. - person Dinu; 10.08.2012
comment
Мне то же самое. Вызов уничтожить до инициализации средства выбора даты вызывает эту проблему. Попробуйте убедиться, что средство выбора даты существует перед уничтожением (например, el.hasClass(hasDatepicker) - person João Neto; 31.01.2018

Это происходит, когда у вас есть экземпляр по умолчанию, потому что в плагине jQuery он настроен на дату по умолчанию 1899.

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

person Blaaa    schedule 25.11.2015

Я создал демонстрацию с вашим кодом в jsfiddle и не могу воспроизвести вашу проблему. Вы можете проверить это на http://jsfiddle.net/w78xX/.

person Community    schedule 30.09.2010
comment
Вы правы - там все работает. Это должно быть что-то более глубокое в коде, который запускает диалоговое окно, содержащее средство выбора даты. Я видел, как некоторые другие люди жалуются на это, но я не могу найти ответа или намеков на то, что может быть причиной этой проблемы. - person prl; 30.09.2010
comment
Патрик-апи, можешь опубликовать весь код? Может быть, я могу помочь вам. - person Rubens Mariuzzo; 30.09.2010

У меня такая же проблема. Я заполняю поля средства выбора даты с помощью ajax и показываю их на PrettyPhoto как всплывающее окно.

Вот мой код.

$( "body" ).on( "focus", ".tarih", function() {
    //$('.tarih').datepicker('destroy');
    var i = 0;
    $('.tarih').each(function () {
        //$(this).attr("id",'date' + i).datepicker('destroy');
        $(this).attr("id",'date' + i).datepicker({
            dateFormat: "yy-mm-dd",
            firstDay: 1,
            minDate: new Date(2000, 1 - 1, 1)
        });
        i++;
    });
});
person tersakyan    schedule 19.02.2014

Попробуйте использовать: format: 'mm/dd/yyyy hh:ii:ss P' Хитрость заключается в том, чтобы сохранить формат даты таким же, как и тот, который возвращает серверная часть.

person WangMango    schedule 18.07.2016
comment
Мы хотим показывать только дату, а не дату и время, что мы можем сделать? - person Tony Dong; 14.03.2017

У меня была такая же проблема, и добавление useCurrent: false решает ее.

.datepicker({
        useCurrent: false 

    });
person Baahubali    schedule 30.08.2016