2016-08-29 4 views
0

私は自分のデータ配列用のグローバルフィルタを持っていて、それ以外のすべてのデータに対して機能します。私はいくつかの読書をしたが、何も解決策を明確に述べなかった。私はカスタムフィルターを見ましたが、ネイティブも使用していますか?私はフィルタで狂っていないので、彼らに精通したスーパーではありません。 MM/DD/YYYY形式の日付でフィルタリングできるようにするためのアドバイスはありますか? 2011年7月11日に入力すると、その文字列値を検索する必要があります。AngularJS ng-repeatの検索日

     <tr dir-paginate="request in openRequests|orderBy:sortType:sortReverse|filter:search|itemsPerPage:10"> 
         <td>{{request.SubmissionID}}</td> 
         <td>{{request.RequestDate.replace('/Date(','').replace(')/','') | date:'MM/dd/yyyy hh:mm a'}}</td> 
         <td>{{request.StartDate.replace('/Date(','').replace(')/','') | date:'MM/dd/yyyy'}}</td> 
         <td>{{request.RequestUser.DisplayName}}</td> 
         <td>{{request.SubmissionEmployee.FullName}}</td> 
         <td>{{request.Department}}</td> 
         <td>{{request.SubmissionStatus.Name}}</td> 
         <td>{{request.LastActionTaken.replace('/Date(','').replace(')/','') | date:'MM/dd/yyyy hh:mm a'}}</td> 
         <td><span ng-click="view(request.SubmissionID)" data-toggle="modal" title="Click to view" data-target="#myOpenRequestModal" class="fa fa-lg fa-upload" style="cursor: pointer"></span></td> 
        </tr> 

データは、オブジェクトのリストであるとAjaxリターンを得る

var App = angular.module('OpenRequestsApp', ['angularUtils.directives.dirPagination', 'angularSpinner']).controller('OpenRequestsCtrl', function ($scope, $http, usSpinnerService) {} 
$scope.openRequests = response; 

答えて

0

キーは前のページにフィールドをレンダリングする文字列に任意の日時フィールドを変換することです。データをサーバーから取り出した後、私はforeachでこれを行いました。

 angular.forEach($scope.openRequests, function (obj, i) { 
     obj.RequestDate = $filter('date')(obj.RequestDate.replace('/Date(', '').replace(')/', ''), "MM/dd/yyyy hh:mm a"); 
     obj.LastActionTaken = $filter('date')(obj.LastActionTaken.replace('/Date(', '').replace(')/', ''), "MM/dd/yyyy hh:mm a"); 
     obj.StartDate = $filter('date')(obj.StartDate.replace('/Date(', '').replace(')/', ''), "MM/dd/yyyy"); 
    });