Как отфильтровать таблицы данных с помощью одного средства выбора диапазона дат - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу отфильтровать мои данные одним средством выбора диапазона дат, но не работает.Как ее решить?

Это скриншот моей страницы Я адаптировал код из этого источника, но в этом коде используется два тега ввода

В моем коде я хочу отфильтровать данные, используя одно средство выбора даты, я могу отфильтровать данные, используя два тега ввода, но я не знаю, как фильтровать, используя одно средство выбора даты, которые имеют два значения: дату от (мин) и дату до (макс)... Это мой код:

<div class="input-group input-daterange ">
    <button type="button" class="btn btn-default pull-right date-range-filter" id="daterange-btn">
        <span>
           <i class="fa fa-calendar"></i>
        </span>
            <i class="fa fa-caret-down"></i>
    </button>
</div>

<table id="tableku" class=" table table-bordered table-striped"> <!-- my table tag. -->

<script type="text/javascript">
    $(document).ready(function() {
       table= $('#tableku').DataTable( {
            dom: 'Bfrtip',
            buttons: ['copy', 'csv', 'excel', 'pdf', 'print']
        } );

        var start = moment();
        var end = moment();

        function cb(start, end) {
            $('#daterange-btn span').html(start.format('DD MMMM YYYY') + ' - ' + end.format('DD MMMM YYYY'));
            alert(start.format('DD MMMM YYYY')+ ' - ' + end.format('DD MMMM YYYY')); /*Get The Value from my datepicker*/
        }
         $.fn.dataTable.ext.search.push(
                  function(settings, data, dataIndex) {
                    var min = start.format('YYYY-MM-DD');
                    var max = end.format('YYYY-MM-DD');
                    var createdAt = data[1] || 0; // my date column in the table
                    if (
                      (min == "" || max == "") ||
                      (moment(createdAt).isSameOrAfter(min) && moment(createdAt).isSameOrBefore(max))
                    ) {
                      return true;
                    }
                    return false;
                  }
                );
             // Re-draw the table when the a date range filter changes
                $('.date-range-filter').change(function() {
                  table.draw();
                });
                $('#my-table_filter').hide();

        $('#daterange-btn').daterangepicker({
            startDate: start,
            endDate: end,
            ranges: {
               'Today': [moment(), moment()],
               'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
               'Last 7 Days': [moment().subtract(6, 'days'), moment()],
               'Last 30 Days': [moment().subtract(29, 'days'), moment()],
               'This Month': [moment().startOf('month'), moment().endOf('month')],
               'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
            }
        }, cb);
        cb(start, end);
    } );
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...