Javascript 如何在AngularJs中按日期范围搜索

Javascript 如何在AngularJs中按日期范围搜索,javascript,angularjs,Javascript,Angularjs,我是AngularJs新手,我正在创建一个搜索模板,选择一个起始日期和一个截止日期,当我点击搜索按钮时,我需要这个范围的结果 单击搜索按钮后,需要填充结果 表td, th{ 字体大小:11px; 字号:500; } 从:到: {{th} {{td}} var-app=angular.module'myApp',[]; app.controller'tableDataCtrl',函数tableDataCtrl$scope,$http{ //$http。gethttps://api.myjson.

我是AngularJs新手,我正在创建一个搜索模板,选择一个起始日期和一个截止日期,当我点击搜索按钮时,我需要这个范围的结果

单击搜索按钮后,需要填充结果

表td, th{ 字体大小:11px; 字号:500; } 从:到: {{th} {{td}} var-app=angular.module'myApp',[]; app.controller'tableDataCtrl',函数tableDataCtrl$scope,$http{ //$http。gethttps://api.myjson.com/bins/uwz13.thenfunction 回应{ $http。gethttps://api.myjson.com/bins/cl913.thenfunctionresponse { //console.logresponse; $scope.tableData=response.data.data; $scope.tableHeader=response.data.header; }; };
AngularJS中的最佳实践是创建如下过滤器:

app.filter("dateRange", function() {
    return function(items, fieldName, fromDate, toDate) {
        var from = new Date(fromDate);
        var to = new Date(toDate);
        var itemsInRange = [];
        for(var i = 0; i < items.length; i++) {
            var date = new Date(items[i][fieldName]);
            if(from <= date && date <= to)
                itemsInRange.push(items[i]);
        }
        return itemsInRange;
    };
});

签出上面演示的解决方案。

您需要先将invoiceDate转换为date,然后与fromDate和toDate进行比较
<tr ng-repeat="tr in tableData | dateRange: 'InvoiceDate':fromDate:toDate">
$filter('dateRange')($scope.tableData, 'InvoiceDate', fromDate, toDate);