Открыть JQuery DatePicker в конкретном месяце - PullRequest
0 голосов
/ 26 октября 2018

У меня есть два jquery datepicket, чтобы выбрать дату от и до. Когда пользователь выбирает дату от, я бы хотел, чтобы до даты получалась дата по умолчанию от даты + 6 дней. Если я использую datepicker setDate, чтобы установить до, он работает, но он заполняет поле ввода до в форме. Я не хочу, чтобы поле заполнялось автоматически, но только когда пользователь нажимает кнопку, чтобы открыть календарь до, выбирается дата, и календарь открывается в правильном месяце. Я думаю, что это может быть сделано с defaultDate, но это не работает для меня.

См. Небольшой пример:

var defaultUntil = new Date(since);
defaultUntil.setDate(defaultUntil.getDate() + 6);
$('#until').datepicker("setDate", defaultUntil );

однако, это не работает:

var defaultUntil = new Date(since);
defaultUntil.setDate(defaultUntil.getDate() + 6);
$('#until').datepicker("setDefaultDate", defaultUntil );

EDIT: Согласно комментариям @extempl я также попробовал:

var defaultUntil = new Date(since);
defaultUntil.setDate(defaultUntil.getDate() + 6);
$('#until').datepicker("defaultDate", defaultUntil );

который не работает и не работает. Я думаю, что defaultDate работает только с переменными инициализации. В противном случае должен использоваться setDate. Однако это не то, что мне нужно, потому что я не хочу, чтобы дата была установлена ​​в поле ввода. Я пробовал defaultDate в init, например: defaultDate: +30,, и он работает, но мне нужно применить логику перед setDefaultDate, поэтому у меня есть два варианта: 1. чтобы можно было установить defaultDate в логике, а не в init. 2. чтобы иметь возможность сделать что-то вроде defaultDate: function () в init, и вычислить значение внутри функции. Является ли это возможным? В данный момент у меня не работает.

Обратите внимание, что это не дублируется другим постом, который вы предложили по этой причине.

1 Ответ

0 голосов
/ 26 октября 2018

Чтобы установить defaultDate в init, вы должны использовать

$('#until').datepicker({defaultDate: defaultUntil} )

, а чтобы обновить его позже, вы должны использовать

$('#until').datepicker( "option", "defaultDate", defaultUntil );

Reference

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

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