Javascript 根据表中的标题对表中的单列数据进行排序
我正在做的是在表中对单个或多个列执行排序操作。假设我们有一张这样的桌子 单击标题1时,仅应对数据1和数据2进行排序。单击标题2时,需要对数据3和数据4进行排序 我们已经在Angular中实现了表的简单排序,但不知道如何在一列中使用两组数据实现此排序 即使尝试了单独的表,因为order by in Angular是基于数组中的键的,当单击标题1时,这两个(数据1、2、3和4)都会得到更新 ng repeat用于形成表格 有人能给我指出正确的方向吗(在角度1.x上)Javascript 根据表中的标题对表中的单列数据进行排序,javascript,jquery,angularjs,arrays,sorting,Javascript,Jquery,Angularjs,Arrays,Sorting,我正在做的是在表中对单个或多个列执行排序操作。假设我们有一张这样的桌子 单击标题1时,仅应对数据1和数据2进行排序。单击标题2时,需要对数据3和数据4进行排序 我们已经在Angular中实现了表的简单排序,但不知道如何在一列中使用两组数据实现此排序 即使尝试了单独的表,因为order by in Angular是基于数组中的键的,当单击标题1时,这两个(数据1、2、3和4)都会得到更新 ng repeat用于形成表格 有人能给我指出正确的方向吗(在角度1.x上) Sample Fiddle问题
Sample Fiddle
问题在于您使用的是同一个变量来处理相反的结果
<div ng-controller="MyCtrl">
<table class="table">
<tr class="heading">
<td ng-click="reverse1=!reverse1;predicate1='id'">id</td>
</tr>
<tr ng-repeat="user in users | orderBy:predicate1:reverse1">
<td>{{user.id}}</td>
</tr>
<tr class="heading">
<td ng-click="reverse2=!reverse2;predicate2='id'">id</td>
</tr>
<tr ng-repeat="user in users | orderBy:predicate2:reverse2">
<td>{{user.id}}</td>
</tr>
</table>
</div>
身份证件
{{user.id}
身份证件
{{user.id}
您可以检查这个工作fiddle==>为什么不为每个
创建一个单独的作用域变量,其中中有id
,如下所示
<div ng-controller="MyCtrl">
<table class="table">
<tr><td ng-click="reverse1=!reverse1;predicate1='id'">id</td></tr>
<tr ng-repeat="user in users | orderBy:predicate1:reverse1">
<td>{{user.id}}</td>
</tr>
<tr><td ng-click="reverse2=!reverse2;predicate2='id'">id</td></tr>
<tr ng-repeat="user in users | orderBy:predicate2:reverse2">
<td>{{user.id}}</td>
</tr>
</table>
</div>
这应该适用于您的情况,因为我没有看到动态生成带有id
的
。它用id
硬编码为两行。id
后面的另一个
是使用ng repeat
动态生成的,因此这应该是可以的
为了简单起见,这里是到的工作链接,如果你发布HTML,那么它将更容易帮助^^^以及javascript。提供一些代码来了解你的代码的实际状态。添加了fiddle@TonySamperi和其他名称。我来看看这是一个巧合,我们都有相同的变量名。我没有抄你的。我们在同一时间发帖。
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.users = [
{id:1},
{id:2}
]
}