2016-10-08 2 views
0

Я хочу сортировать таблицу при щелчке по галочке и фильтрации этого таблицы. Приведенный ниже код был зафиксирован и в настоящее время работает ....AngularJS table orderBy checkbox

HTML

<table> 
    <tr ng-repeat="x in myArray | filter : name | orderBy : sortOrder"> 
     <td>{{ x.name }}</td> 
     <td>{{ x.age }}</td> 
    </tr> 
    </table> 

    <input type="checkbox" ng-model="sortByName" ng-change="setSortOrder()"> 
    <input type="text" ng-model="name"> 

AngularJS

app.controller("myController", function($scope, $http) 
{ 
    $scope.filterString = ''; 
    $scope.sortByName = false; 
    $scope.sortOrder = ''; 

    $scope.setSortOrder = function() 
    { 
     if($scope.sortByName) 
     { 
      $scope.sortOrder = 'name'; 
     } 
     else 
     { 
      $scope.sortOrder = ''; 
     } 
    } 

ответ

0

Вы не хватает сообщая флажок, чтобы вызвать метод контроллера, который выбирает критерии сортировки, когда его проверенное состояние изменяется. Вы можете сделать это, используя директиву ngChange. Попробуйте следующее:

<input type="checkbox" ng-model="sortByName" ng-change="setSortOrder()"> 
+0

удивительным, что есть своего рода рабочий, я буду играть с фильтром, благодаря – user3121518

+0

я исправил код выше, поэтому сортировка и фильтры – user3121518

+0

Отлично !, рад, что смог помочь , –