Установка другого месяца по умолчанию в jQuery UI datepicker перед отображением

В моей ситуации я должен установить месяц в прошлом месяце по умолчанию.

Месяцем по умолчанию для datepicker является текущий месяц. Но я хочу, чтобы это было в прошлом месяце или в другом месяце по умолчанию. Как я могу это сделать?

Например: "2010-09" по умолчанию.

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

Ответ 1

Вы можете использовать параметр defaultDate при создании datepicker:

$('#date').datepicker({
    defaultDate: '-2m'
});

Переходя в такой строке, мы можем установить дату по умолчанию на другую по отношению к текущей дате. В качестве альтернативы опция также принимает объект Date:

defaultDate: new Date(2010, 8, 1)

или строку в том же формате, что и формат, определенный в настоящее время:

defaultDate: '1/9/2010'

Все вышеперечисленное даст вам дату по умолчанию в сентябре. Месяц в конструкторе Date начинается с нуля, поэтому 8 даст вам сентябрь.

Ответ 2

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

$( ".selector" ).datepicker({ showCurrentAtPos: 1 });

Если вы используете defaultDate, он выделит этот конкретный день, этот метод просто показывает предыдущий месяц, когда ничего не выбрано.

Ответ 3

Попробуйте это

$( ".selector" ).datepicker({ defaultDate: +7 });

Укажите фактическую дату через объект Date или как строку в текущем dateFormat или количество дней с сегодняшнего дня (например, +7) или строку значений и периодов ('y' в течение лет, 'm' в течение нескольких месяцев, "w" в течение недель, "d" в течение нескольких дней, например "+ 1m + 7d" ), или null на сегодняшний день.