2010-09-30 2 views
4

Должно быть, мне не хватает какой-либо настройки или что-то в этом роде, но когда я использую кнопку «Назад», датпикер перескакивает до 1899 года с текущего года.jquery ui datepicker back button перескакивает до 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); 
    } 
    }); 
+0

Я полностью копировал все это и не могу воспроизвести. – RememberME

ответ

0

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

+0

Вы правы - там отлично работает. Это должно быть что-то более глубокое в коде, который запускает диалоговое окно, содержащее параметр datepicker.Я видел, как некоторые другие люди жалуются на это, но я не могу найти ответ или какие-либо намеки на то, что может вызвать эту проблему. – prl

+0

Patrick-api, можете ли вы разместить весь свой код? Может быть, я могу помочь вам. –

1

я испытал этот вопрос при вызове

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

перед повторной инициализации DatePicker.

+0

Да, я тоже испытал это, когда метод «destroy» вызывается до инициализации datepicker. Выбор даты работал после удаления метода «destroy» до инициализации. – Dinu

+0

То же самое для меня. Вызов destroy до инициализации datepicker вызывает эту проблему. Попробуйте подтвердить, что datepicker существует до уничтожения (например, el.hasClass («hasDatepicker») –

9

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

+1

Это было причиной для меня. – ErwinM

0

У меня такой же выпуск. Я заполняю поля датпикера с помощью 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++; 
    }); 
}); 
5

Это было вызвано наличием нескольких полей ввода с одним и тем же идентификатором в моем текущем проекте.

Я создавал несколько форм на лицевой стороне, с тем же методом создания в моей структуре.

Чтобы избежать необходимости писать явные изменения на уровне создания формы, я сделал следующее:

//An initialisation method for datepickers 
 
var init_datepickers = function() { 
 
    /* Datepickers */ 
 
    $('.datepicker').datepicker({ 
 
    dateFormat: "dd/mm/yy" //(I'm in NZ) 
 
    }); 
 
} 
 
//Define counter ("datepicker index" aka dpi) 
 
var dpi = 0; 
 
//Loop datepickers 
 
$.each($('input.datepicker'), function() { 
 
    if(dpi > 0) 
 
    $(this).attr("id", $(this).attr("id") + "_" + dpi); //Append the current count to the ID 
 
    dpi++; 
 
    //Check for last datepicker, and call init 
 
    if(dpi == $('input.datepicker').length) 
 
    init_datepickers(); 
 
});

Объявление Ряд всех datepickers, кроме первого, который появляется на странице ,

Примечание. Этот пример не требует использования идентификаторов в качестве селекторов для сценариев или стилей. Это изменит идентификаторы входов и, следовательно, сломает любой стиль/выбор, который у вас может быть.

1

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

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

0

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

+0

Мы хотим показать дату, а не дату, что мы можем сделать? –

0

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

.datepicker({ 
     useCurrent: false 

    });