javascript - Angular A-Z 反向排序

标签 javascript angularjs sorting

我确信在我面前一定有一个简单的解决方案,但如果我能找到它就该死。

我通过各种排序选项对大型 ng-repeat 进行排序,因此我传递了一组排序选项。用户还可以选择数据的排序方式。

我可以按 A-Z 排序,但由于某种原因,相反的 (Z-A) 无法按预期工作。

这是一个 fiddle http://jsfiddle.net/Tk39P/4/

我所做的一切与我在其他 Angular 应用程序的许多其他排序功能中使用的相同:

return -result.whatever;

那么,我到底做错了什么? :) 干杯

最佳答案

根据此更改您的代码位 $scope.orderBy = '价格-低-高'; $scope.predicate='价格'; $scope.reverse=true;

    $scope.orderByOptions = function (result) {
        if ($scope.orderBy == 'price-high-low') {
            $scope.predicate='price';
            $scope.reverse=false;

        }
        else if ($scope.orderBy == 'letter-az') {
            $scope.predicate='letter';
            $scope.reverse=false;

        }
        else if ($scope.orderBy == 'letter-za') {
            $scope.predicate='letter';
            $scope.reverse=true;

        }
        else
        {
            $scope.predicate='price';
            $scope.reverse=true;
        }


    };    

HTML Chnage data-ng-change="orderByOptions()"

  <select data-ng-change="orderByOptions()" class="order-by" data-ng-model="orderBy" id="orderBy" data-ng-show="results.length > 0">

检查JSFiddle

您也可以引用这篇文档AngularJS orderBy

关于javascript - Angular A-Z 反向排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917451/

相关文章:

javascript - 如何用 Angular.js 动态生成 DOM?

java - 在 Java 中创建有序队列的有效方法,其迭代器重复回到开头

javascript - KnockoutJS,与 2D 数组的样式绑定(bind)?

javascript - 如果用户尝试离开网页,如何提示用户未保存的更改

javascript - Highcharts stockChart 中的多点选择

C++ vector<Struct> 排序不起作用

sorting - sort.Reverse 在 Go 中

javascript - jQuery .click 函数 - 防止在函数完成之前再次调用它

Angularjs 指令和范围(获取字符串而不是对象)

javascript - 如何使用 JavaScript/Angular.js 从数组中获取单个值