Как установить календарь на один год с выбранной даты, используя angular8 с bootstrap datetimepicker - PullRequest
1 голос
/ 07 марта 2020

у меня есть 2 календаря. Таким образом, на основе выбора первого календаря, устанавливается значение второго календаря. Теперь, если первая календарная дата является сегодняшней, тогда вторая календарная дата начинается с текущей даты. Но я хочу, чтобы вторая календарная дата была установлена ​​на год от выбранной даты. Например, если я выбираю первую календарную дату как 03/07/2020, вторая календарная дата должна начинаться с 03/07/2021. Также после ввода даты, если я очищаю дату и выхожу, она снова возвращается к текущей дате. Как удалить текущую настройку даты, когда я очищаю поле ввода.

DEMO: DEMO

TS:

ngAfterViewInit() {
    $('.effectiveOnlyDate').datetimepicker(
      { format: 'L' }).on('dp.change', (e) => {
        const date = e.date.format('L');
        this.date = date;
      });
      $('.onlyDate').datetimepicker(
      { format: 'L' }).on('dp.change', (e) => {
        const date = e.date.format('L');
        this.date = date;
      });
       $('.onlyDate').datetimepicker({
        useCurrent: false //Important! See issue #1075
    });
    $(".effectiveOnlyDate").on("dp.change", (e) => {
      const date = e.date.format('L');
    this.date = date;
        $('.onlyDate').data("DateTimePicker").minDate(e.date);
    });
    $(".onlyDate").on("dp.change",  (e) => {
      const date = e.date.format('L');
    this.date = date;
        $('.effectiveOnlyDate').data("DateTimePicker")
    }); 
  }

1 Ответ

0 голосов
/ 09 марта 2020

Я решил эту проблему, взяв выбранную дату и добавив к ней один год.

  $(".effectiveDate").on("dp.change", (e) => {
      if (e.date) {
        const date = e.date.format('L');
        this.date = date;
        this.datevar = e.date._d
        this.datevar.setFullYear(this.datevar.getFullYear() + 1);
        this.datevar;
      } else {
        this.date = null;
      }
      $('.expirationDate').data("DateTimePicker").minDate(this.datevar);
    });
...