1

我知道如何更改 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');
      }

    });
4

1 回答 1

0

我通过销毁datetimepicker复选框更改事件然后重新附加它来解决这个问题。

我在下面包含了我的代码。

我所做的 - 当检查全天事件复选框(#eventAllDay)时,仅date在事件开始日期(#eventStartDate)和事件结束日期( DateTime`选择)中显示#eventEndDate). And if it is unchecked, display选择。

 $(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;

   }
 });

谢谢。

于 2015-06-05T12:53:18.620 回答