angularjs 選擇排序

  • 708
  • 0

orderBy: SortColumn


<script src="~/Scripts/ngcontroller.js"></script>
<div ng-app="myModule">
    <div ng-controller="myController">
        <select ng-model="SortColumn">
            <option value="+name">name ASC</option>
            <option value="+dateofBirth">dateofBirth ASC</option>
            <option value="+gender">gender ASC</option>
            <option value="+salary">salary ASC</option>
            <option value="-salary">salary DESC</option>
        </select>

        <table border="1">
            <thead>
                <tr>
                    <th>name</th>
                    <th>dateofBirth</th>
                    <th>gender</th>
                    <th>salary</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="a in employees | orderBy: SortColumn">
                    <td>{{a.name }}</td>
                    <td>{{a.dateofBirth | date:"yyyy/MM/dd" }}</td>
                    <td>{{a.gender }}</td>
                    <td>{{a.salary }}</td>
                </tr>
            </tbody>
        </table>

    </div>

</div>
 

var myApp = angular.module("myModule", []);

myApp.controller("myController", function ($scope) {

    var employees = [{
        name: "Ben", dateofBirth: new Date("November 23 1980")
        , gender: "Male", salary: 55000.788
    }
        , {
            name: "Ben", dateofBirth: new Date("November 23 1980")
            , gender: "Male", salary: 55000.788
        }
        , {
            name: "Sara", dateofBirth: new Date("May 05 1970")
            , gender: "FeMale", salary: 68000
        }
        , {
            name: "Mark", dateofBirth: new Date("August 15 1974")
            , gender: "Male", salary: 57000
        }
        , {
            name: "Pam", dateofBirth: new Date("October 27 1979")
            , gender: "FeMale", salary: 53000
        }];

    $scope.employees = employees;
    $scope.SortColumn = "+name";
});