3

我有一个要求,当用户有一个日期时间存在于数据库中时,它只显示日期。但是如果数据库没有日期时间,那么在文本框中它必须是空白的。

但是当页面加载 datetimepicker 在其中设置默认值时。因此,为此我已将其设置autoUpdateInput为 false,它将文本框设置为空白。但之后 datetimepicker 不会在文本框中设置值。

$('.datetimepicker').daterangepicker({ 
    autoUpdateInput: false,       
    singleDatePicker: true,
    showDropdowns: true,
    timePicker: true,
    locale: {
        format: 'DD-MM-YYYY hh:mm:ss'
    },
});

Js小提琴链接:https ://jsfiddle.net/Ly0jh5pz/2/

注意:我必须使用 daterangepicker 所以引导 datetimepicker 不是一个选项。

4

3 回答 3

5

试试这个:

$("#reportdatetime").daterangepicker({
                autoUpdateInput: false,
        timePicker: true,
        timePicker24Hour: true,
        timePickerIncrement: 30,
        locale: {
            format: 'MM/DD/YYYY H:mm'
        }
    });

  $('#reportdatetime').on('apply.daterangepicker', function(ev, picker) {
      $(this).val(picker.startDate.format('MM/DD/YYYY H:mm') + ' - ' + picker.endDate.format('MM/DD/YYYY H:mm'));
  });

  $('#reportdatetime').on('cancel.daterangepicker', function(ev, picker) {
      $(this).val('');
  });
于 2017-05-09T11:25:37.670 回答
1

您应该触发change()以确保它在所有情况下都能完美运行;有时你有一些事件监听器,需要触发 date-range-picker 的改变。

$('#date-picker-input').daterangepicker({ 
  autoUpdateInput: false,       
  singleDatePicker: true,
  showDropdowns: true,
  timePicker: true,
  locale: {
    format: 'DD-MM-YYYY hh:mm:ss'
  },
});

$("#date-picker-input").on('apply.daterangepicker', function(ev, picker) {
  $(this).val(picker.startDate.format('DD/MM/YYYY hh:mm A')).change();
});

$("#date-picker-input").on('cancel.daterangepicker', function(ev, picker) {
  $(this).val('').change();
});
于 2021-01-10T10:10:48.373 回答
0

如果您想获得具有单一格式的时间范围的日期时间选择器,您也可以尝试这种格式。Duetime 下面是您的 HTML 输入标签的 id。

$("#duetime").daterangepicker({
    autoUpdateInput: false,
    startDate: false,
    minYear: 1901,
    showDropdowns: true,
    singleDatePicker: true,
    timePicker: true,
    timePicker24Hour: false,
    timePickerIncrement: 05,
    drops:"up",
    locale: {
        // format: 'MM/DD/YYYY hh:mm A'
        format: 'DD/MM/YYYY hh:mm A'
    },
});

$("#duetime").on('apply.daterangepicker', function(ev, picker) {
    $(this).val(picker.startDate.format('DD/MM/YYYY hh:mm A'));
});

$("#duetime").on('cancel.daterangepicker', function(ev, picker) {
    $(this).val('');
});
于 2020-05-09T07:42:53.427 回答