2016-08-26 11 views
0

'orderby'フィルタを適用していますが、機能していません。私は二重チェックAPIからデータを取得していますが、確実に来ています。しかし、フィルタは機能していません。なぜorderbyフィルターが機能しないのですか?

<div class="filter-container"> 
     <select class="form-control" ng-model="userOrder"> 
     <option value="0">No</option> 
     <option value="1">Yes</option> 
     </select> 
</div> 

<tr class="odd" ng-repeat="user in allusers | filter: query1 | filter: query2 | filter: query3 | filter: query4 | filter: query5 | orderBy: userOrder">  
    <td> 
     <span ng-if="user.superuser==1">Yes</span> 
     <span ng-if="user.superuser==0">No</span> 
    </td>  
    <td> 
     <span ng-if="user.status==0">Not active</span> 
     <span ng-if="user.status==1">Active</span> 
     <span ng-if="user.status==-1">Banned</span> 
    </td>    
</tr> 

マイコントローラ:

$scope.user = function() { 
    $http.get('http://event/users/users/') 
     .success(function (data) { 
      $scope.allusers = data; 
      console.log("all users data coming in user function");     
     }) 
     .error(function (data) { 
      console.log('error'); 
     }); 
}; 

答えて

0

あなたが怒鳴るようallusersを持っている場合のように、配列の要素を渡す必要が順に。その後、userOrdername OR lastname

https://docs.angularjs.org/api/ng/filter/orderByヘルプあなたはもっとする必要があります。

あなたの名前を変更して試してみてください。

<select class="form-control" ng-model="userOrder"> 
    <option value="username">Username</option> 
    <option value="email">Email</option>  
</select> 
+0

を役に立てば幸い彼既に$ scope.allusers = data;にデータを追加しています –

+0

別のプロジェクトで同じコードを書いていますが、ここでは動作していませんでしたが、 –

+0

@UsmanIqbalできますpl $ scope.allusersにあるダミーデータを簡単に書き込めますか? – Mitul

0

私はあなたがuserオブジェクトのsuperuserプロパティで注文しようとしていると仮定します。

あなたがこれを行う必要があります。

orderBy : "superuser" 

をご注文または昇順降順で注文するかどうかをコントローラにあなたの選択ボックスをしたい場合は、次の操作を行います。

<select class="form-control" ng-model="sortReversed"> 
     <option value="False">No</option> 
     <option value="True">Yes</option> 
</select> 

... 

orderBy : "superuser" : sortReversed 

はそれが

+0

は回答を適用しました。いいえを選択した場合、結果に「いいえ」が表示されます。また、「はい」を選択しても変更は適用されません。 –

関連する問題