JQuery UI DatePicker Кнопка Назад переходит на 1899 - PullRequest
6 голосов
/ 30 сентября 2010

Мне, должно быть, не хватает каких-то настроек или чего-то еще, но когда я использую кнопку "Назад", средство выбора даты переходит на 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);
    }
   });

Ответы [ 8 ]

10 голосов
/ 28 августа 2012

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

5 голосов
/ 26 сентября 2014

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

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

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

//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();
});

Это объявление числа для всех сборщиков даты, кроме первого, который появляется на странице.

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

1 голос
/ 25 ноября 2015

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

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

1 голос
/ 03 апреля 2012

У меня возникла эта проблема при звонке

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

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

0 голосов
/ 30 августа 2016

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

.datepicker({
        useCurrent: false 

    });
0 голосов
/ 18 июля 2016

Попробуйте использовать: формат: «мм / дд / гггг чч: ii: сс п» Хитрость заключается в том, чтобы сохранить формат даты таким же, какой возвращает бэкэнд.

0 голосов
/ 19 февраля 2014

У меня такая же проблема. Я заполняю поля DatePicker 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++;
    });
});
0 голосов
/ 30 сентября 2010

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

...