У меня есть два 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, и вычислить значение внутри функции. Является ли это возможным? В данный момент у меня не работает.
Обратите внимание, что это не дублируется другим постом, который вы предложили по этой причине.