引导日期选择器在创建日期选择器时设置日期

时间:2019-04-14 22:59:24

标签: javascript jquery bootstrap-datepicker

我遇到bootstrap datepicker的问题:我需要在实例化日期选择器时设置日期,而无需触发dateChange事件。原因是我正在听datechange事件提交表单,因此无法触发它来设置所选日期。 我需要能够设置从存储在div中的数据中选择的两天

const $picker = $('.datetimepicker2').datepicker({
    inline: true,
    multidate: 2,
    debug: true,
    format: 'dd/mm/yy',
    beforeShowDay: function(date) {
        if($picker && $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) && 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);
}

0 个答案:

没有答案