Фильтр поиска по дате не работает в angular js

Я новичок в угловом js. Я пытаюсь реализовать пользовательский фильтр даты, используя средство выбора даты. Я пробовал это, но у меня нет никакой идеи, чтобы работать. Ниже мой код.

  <div class="col-sm-2 m-b-xs">
    <input type="text" name="from_date" class="form-control" placeholder="From" date-time view="date" auto-close="true" min-view="date" ng-model="from_date"  format="MMM-DD-YYYY" readonly />
      </div>
   <tr class="gradeU" ng-repeat="x in invoice | filter:{created : from_date}">       
  <td style="text-align: center;">{{ x.created | datetime }}</td>      
</tr> 
JS SECTION 
function InvoiceControllers($scope, $stateParams, $http, $state) {
    $scope.filterData = {};
    $scope.invoice_listing = function (data) {
        var json = (function () {
            var json = null;
            $.ajax({
                'async': false,
                'global': false,
                'url': 'invoices/listing_invoice',
                'data': data,
                'dataType': "json",
                'success': function (data) {
                    // alert(data);
                    json = data;
                }
            });
            return json;
        })();
        //$scope.formData = {value : json};
        $scope.invoice = json;
    };
    var data = {};
    $scope.invoice_listing(data);

    $scope.filter_invoice = function () {
        var data = $scope.filterData;
        $scope.invoice_listing(data);
    };


}

function dateTime($filter) {
    return function (input) {
        if (input == null) {
            return "";
        }

        var _date = $filter('date')(new Date(input), 'MMM-dd-yyyy');
        return _date.toUpperCase();

    };
}

angular
        .module('inspinia')

        .controller('InvoiceControllers', InvoiceControllers)

        .filter('datetime', dateTime);

Здесь я попробовал часть поиска в разделе даты. введите здесь описание изображения

Любое предложение. Спасибо


person sradha    schedule 25.11.2016    source источник
comment
Пожалуйста, используйте return _date; вместо возврата _date.toUpperCase(); в функции dateTime.   -  person J-Mean    schedule 25.11.2016


Ответы (1)


Вы получаете эту проблему, потому что в поле ввода from_date задайте модальное значение как строку даты. Вам нужно отформатировать дату в том же формате, который вы использовали в столбце таблицы.

var from_date = $filter('date')($scope.from_date, 'MMM-dd-yyyy');
$scope.invoice.filter({ created: from_date });
person Dayachand Patel    schedule 25.11.2016