【问题标题】:Angularjs orderBy ( using default order with reverse and multiple fields)Angularjs orderBy(使用带有反向和多个字段的默认顺序)
【发布时间】:2014-07-10 19:41:07
【问题描述】:

我目前正在使用 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

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

谢谢!

【问题讨论】:

  • 嗨,请检查指向 jsfiddle 的链接
  • 已修复。很抱歉!
  • 所以当你点击区域时,你是想按区域排序朋友,然后按是还是...?
  • 没错!如果点击Zone,它将按Zone排序,如果Zone相同,也会引用Area。

标签: javascript angularjs sorting


【解决方案1】:

如果你想在那时进行分类,那么你需要像这个演示一样创建属性数组

http://jsfiddle.net/ty7Tp/

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

【讨论】:

    猜你喜欢
    • 2016-03-15
    • 1970-01-01
    • 2013-12-15
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    相关资源
    最近更新 更多