2

我正在使用http://www.daterangepicker.com/#usage包,目前在清除选择时遇到了一些困难。根据文档,有一个清除选项,但在我单击应用按钮后它不起作用/清除。

这是代码:

$(function() {
  $('input[name="datefilter"]').daterangepicker({
      autoUpdateInput: false,
      locale: {
          cancelLabel: 'Clear'
      }
  });

  $('input[name="datefilter"]').on('apply.daterangepicker', function(ev, picker) {
      $(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
  });

  $('input[name="datefilter"]').on('cancel.daterangepicker', function(ev, picker) {
      $(this).val('');
  });

});

有没有人有同样的经历?如何解决这个问题?看起来这个包不再维护了:(

4

1 回答 1

2

尝试重置startDateendDate

picker.setStartDate({})
picker.setEndDate({})

$('input[name="datefilter"]').daterangepicker({
  autoUpdateInput: false,
  locale: {
    cancelLabel: 'Clear'
  }
});

$('input[name="datefilter"]').on('apply.daterangepicker', function(ev, picker) {
  $(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
});

$('input[name="datefilter"]').on('cancel.daterangepicker', function(ev, picker) {
  $(this).val('')
  picker.setStartDate({})
  picker.setEndDate({})
});
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

<input type="text" name="datefilter" value="01/01/2018 - 01/15/2018" />

此外,将默认日期格式设置为“MM/DD/YYYY”。不需要 apply.daterangepicker 事件

于 2021-06-23T04:26:09.760 回答