Я использую Средство выбора диапазона дат от Dangrossman, и мне по сути нужно очистить дату когда я нажимаю кнопку отмены.

Из того, что я прочитал, в сценарии нет возможности вызвать это действие, но я читал, что могу по существу уничтожить и воссоздать средство выбора диапазона дат, однако мне трудно реализовать код.

Вот что у меня есть на данный момент. Любая помощь будет оценена по достоинству.

$(function() {      
    $('.tqm-events-filter__button--date').daterangepicker({
        alwaysToggle: true,
        parentEl: "#tqm-date-range-picker__container",
        locale: { 
            cancelLabel: 'Clear filters',
            applyLabel: 'Apply filters'
        }
    });

    $('.tqm-events-filter__button--date').click(function() {
        $('.tqm-events-filter__button--checklist-item').each(function() {
            $(this).next().hide();
        });
        $('#tqm-date-range-picker__container').show();
    });
});

$('.tqm-events-filter__button--date').on('cancel.daterangepicker', function() {
    $('.tqm-events-filter__button--date').removeClass('tqm-apply-event-filter-button');
    $('#tqm-date-range-picker__container').hide();
    $('.tqm-events-filter__button--date').daterangepicker('destroy');
    $('.tqm-events-filter__button--date').daterangepicker({
        alwaysToggle: true,
        parentEl: "#tqm-date-range-picker__container",
        locale: { 
            cancelLabel: 'Clear filters',
            applyLabel: 'Apply filters'
        }
    });       
});
2
Pedz 2 Дек 2018 в 11:39

2 ответа

Лучший ответ

Для установки входного значения можно использовать метод jQuery .val ().

Итак, в вашем случае, когда срабатывает функция отмены, вы можете использовать метод jQuery .val (), чтобы установить значение целевого ввода в пустую строку.

В дальнейшем это можно увидеть в действии на веб-сайте выбора диапазона дат (строка 17).

$('.tqm-events-filter__button--date').on('cancel.daterangepicker', function(ev, picker) {
      $(.targeted-input).val('');
  });

4
Amiracle 13 Янв 2019 в 07:27

Основываясь на предложении Amiracle, это было мое последнее рабочее решение. Я назначил новые даты для daterangepicker.

    $('.tqm-events-filter__button--date').on('cancel.daterangepicker', function() {
        $('.tqm-events-filter__button--date').removeClass('tqm-apply-event-filter-button');
        $('#tqm-date-range-picker__container').hide();
        $('.tqm-events-filter__button--date').data('daterangepicker').setStartDate(new Date);
        $('.tqm-events-filter__button--date').data('daterangepicker').setEndDate(new Date);
    });
0
Pedz 25 Фев 2021 в 05:09