#javascript #jquery #bootstrap-datepicker
#javascript #jquery #bootstrap-datepicker
Вопрос:
У меня проблема с bootstrap datepicker: мне нужно устанавливать даты при создании экземпляра datepicker, не вызывая событие dateChange. Причина в том, что я прослушиваю событие datechange для отправки формы, поэтому я не могу запустить его для установки выбранных дат. Мне нужно иметь возможность устанавливать два дня, выбранных из данных, которые я храню в div
const $picker = $('.datetimepicker2').datepicker({
inline: true,
multidate: 2,
debug: true,
format: 'dd/mm/yy',
beforeShowDay: function(date) {
if($picker amp;amp; $picker.datepicker('getDates').length === 2) {
const selectedDates = $picker.datepicker('getDates');
const startDate = moment(selectedDates[0]);
const endDate = moment(selectedDates[1]);
const day = moment(date);
if(day.isAfter(startDate) amp;amp; day.isBefore(endDate)) {
return {
enabled: true,
classes: 'active'
}
}
}
}
}).on('changeDate', (event) => {
const startDate = moment(event.dates[0]).format('DD/MM/YY');
const $form = $('.main_search').find('form');
const $input = $('<input>', { name: 'start_date', value: startDate , type: 'hidden'});
$form.append($input);
$form.submit();
});
Проблема в том, что если я установлю даты с помощью этого кода, он отправит форму
const homeData = $('#home-data').data();
if( homeData.startDate ) {
let dates = [];
dates.push(homeData.startDate);
$picker.datepicker('setDates', dates);
}
Комментарии:
1. Какая версия Bootstrap?, Какой DatePicker? (для начальной загрузки их сотни) совместим ли используемый datepicker с тем, что используется в bootstrap?
2. @MrJ добавил ссылку на datepicker
3. это потому, что у вас есть
$form.submit();
в.on('changeDate', (event ...
4. @MrJyes, выбор даты запускает форму, поэтому я хотел иметь возможность устанавливать даты в качестве начальных дат в календаре без запуска события
5. Таким образом, вы должны установить свои даты перед добавлением изменения события на него,, или отключить это событие, когда вы вводите свои значения