1

我知道如何更改datetimepicker日期格式,但我無法找到一種方法來重新格式化它的初始化。我希望格式改變,如果某些複選框被選中。更改事件引導datetimepicker的格式

這是我的嘗試:

if ($('#dateAndTime').is(':checked')) { 
     defaultFrom = moment().subtract(1, 'hours').subtract(currentSecond, 'seconds'); 
     defaultFormat = 'MM/DD/YYYY HH:mm'; 
    } else { 
     defaultFrom = moment().subtract(7, 'days').subtract(currentSecond, 'seconds'); 
     defaultFormat = 'MM/DD/YYYY HH'; 
    } 

它使defaultFrom的變化,而不是defaultFormat變化。 這是怎樣的DateTimePicker外觀:

// Configure the from datetime date pickers 
    $('#dateTimePickerFrom').datetimepicker({ 
     format: defaultFormat, 
     minDate: moment().subtract(90, 'days'), 
     defaultDate: defaultFrom 
    }).on('dp.change', function(e) { 
     if (!validDateTimeRange()) { 
     $('#ok-button').attr('disabled', true); 
     } else { 
     $('#ok-button').removeAttr('disabled'); 
     } 

    }); 
+0

嗨,我也在尋找同樣的東西,你問了一個月前,這裏沒有答案。 ? –

回答

0

我通過複選框變化事件破壞datetimepicker,然後重新連接它解決了這個問題。

我在下面列入了我的代碼。

我所做的 - 當全天事件複選框(#eventAllDay)被選中時,只顯示date選擇在活動開始日期(#eventStartDate)和活動結束日期(#eventEndDate). And if it is unchecked, display datetime`選擇

$(document).on('change', '#eventAllDay', function(e, data) { 
 

 
    if ($('#eventStartDate').data('DateTimePicker') != undefined) { 
 
    $('#eventStartDate').data('DateTimePicker').destroy(); 
 
    $('#eventEndDate').data('DateTimePicker').destroy(); 
 
    } 
 

 
    if ($('#eventAllDay').is(':checked')) { 
 

 
    $('#eventStartDate').datetimepicker({ 
 
     useCurrent: true, 
 
     showClose: true, 
 
     format: 'L' 
 
    }); 
 
    $('#eventEndDate').datetimepicker({ 
 
     useCurrent: true, 
 
     showClose: true, 
 
     format: 'L' 
 
    }); 
 
    return; 
 

 
    } else { 
 

 

 
    $('#eventStartDate').datetimepicker({ 
 
     useCurrent: true, 
 
     showClose: true, 
 
     format: 'MM/DD/YYYY HH:mm' 
 
    }); 
 
    $('#eventEndDate').datetimepicker({ 
 
     useCurrent: true, 
 
     showClose: true, 
 
     format: 'MM/DD/YYYY HH:mm' 
 
    }); 
 
    return; 
 

 
    } 
 
});

謝謝。