Угловое событие изменения для меню выбора

0

Использование Angular У меня есть набор данных, который вызывается через $ http.get, фильтруется и затем отображается на странице. Эта ссылка будет сортировать данные по странам, есть ли способ, чтобы я мог реплицировать это, но используя список выбора вместо текстовых ссылок.

<a ng-click="sort_by('country');">Country</a>

Часть моего приложения.

app.controller('customersCrtl', function ($scope, $http, $timeout) {
        $http.get('ajax/getCustomers.php').success(function(data){
        $scope.list = data;
        $scope.currentPage = 1; //current page
        $scope.entryLimit = 20 //max no of items to display in a page
        $scope.filteredItems = $scope.list.length; //Initially for no filter  
        $scope.totalItems = $scope.list.length;
    });
    $scope.filter = function() {
        $timeout(function() { 
            $scope.filteredItems = $scope.filtered.length;
        }, 10);
    };
    $scope.sort_by = function(predicate) {
        $scope.predicate = predicate;
        $scope.reverse = !$scope.reverse;
    };
});

Поэтому я хотел бы, чтобы это копировало сортировку на основе выбранного значения...

<select class="form-control">
    <option value="firstname">First name</option>
    <option value="lastname">Last name</option>
    <option value="company">Company name</option>
</select>
  • 1
    ты пробовал ng-change?
  • 0
    Я попытался ng-change = 'sort_by (value)', но, если честно, я не знаю, как передать значение.
Теги:
sorting

1 ответ

0
Лучший ответ

Во-первых, вам нужно связать выпадающее sortValue именем sortValue из $ scope

<select ng-model="sortValue" class="form-control">
   <option value="firstname">First name</option>
   <option value="lastname">Last name</option>
   <option value="company">Company name</option>
</select>

В контроллере установите часы для изменения фильтра при изменении sortValue:

$scope.$watch('sortValue',function(newValue, oldValue){
    //newValue here is the selected value
    $scope.sort_by(newValue);
});
  • 0
    Это прекрасно, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню