javascript - Angularjs orderBy(使用带有反向和多个字段的默认顺序)

标签 javascript angularjs sorting

我目前正在使用 Angular 网站上提供的 orderBy 示例:https://docs.angularjs.org/api/ng/filter/orderBy

并调整它以创建这个 JSFiddle:http://jsfiddle.net/LErNA/1/

<tr>
  <th><a href="" ng-click="reverse=false;order('name', false)">Name</a>
    (<a href="" ng-click="order('-name',false)">^</a>)</th>
  <th><a href="" ng-click="reverse=!reverse;order('zone', reverse)">Zone</a></th>
  <th><a href="" ng-click="reverse=!reverse;order('area',reverse)">Area</a></th>
</tr>

现在,排序似乎适合按字母顺序排序(和数字排序)。我希望当单击“区域”时,它会按字母顺序排序,但区域(这是一个数字)也将按从低到高的顺序排序。我真的不知道从哪里开始创建这个二级排序顺序。

但我确实注意到,如果我单击“区域”,然后首先对其进行排序,从最低到最高(单击两次):

名称 (^) 区域
迈克 B 1
朱莉 D 1
吉姆 A 1
亚当 C 1
皮特·C 2
玛丽A 2
弗兰克 B 2
约翰 A 3

然后单击“区域”,从最低到最高,顺序是我想要的方式(单击两次):

名称 (^) 区域
吉姆 A 1
玛丽A 2
约翰 A 3
迈克 B 1
弗兰克 B 2
亚当 C 1
皮特·C 2
朱莉 D 1

我希望这是有道理的。如果没有,请告诉我。

谢谢!

最佳答案

如果您想在那时进行排序,那么您需要创建属性数组,如本演示中所示

http://jsfiddle.net/ty7Tp/

  <th><a href="" ng-click="reverse=!reverse;order(['zone', 'area'],reverse)">Zone</a></th>

关于javascript - Angularjs orderBy(使用带有反向和多个字段的默认顺序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24684938/

相关文章:

javascript - AngularJS 未加载我的页面之一

javascript - 使用 jQuery Ajax 从 MySQL 中切换信息

javascript - Angular1 : Factory. 方法不是函数

javascript - 如何查看 angularjs 指令中的属性?

javascript - 基于字符串长度的自定义排序

python - 在不重复上一项的情况下在 Python 中对列表进行排序

javascript - 在 HTML 网页中显示 Firebase 记录

javascript - AJAX 网页应用程序设计

angularjs - 如何在不引发错误的情况下检查模块的存在?

java - 如何对数组进行升序排序?