Bootstrap datepicker устанавливает даты при создании datepicker

#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. Таким образом, вы должны установить свои даты перед добавлением изменения события на него,, или отключить это событие, когда вы вводите свои значения