gpt4 book ai didi

jquery - Angular JS : html table columns ordering not working

转载 作者:行者123 更新时间:2023-12-01 04:09:50 24 4
gpt4 key购买 nike

我在 Angular-JS 中创建了一个应用程序,用于对表中的值进行排序。表中的某些列是动态的,并且是基于子 JSON 数组创建的

例如,从服务返回的 JSON 结构位于主 JSON 的 other 字段包含另一个 JSON 数组(即附加列)的结构中,

在下面的结构中
第一个对象有文件 4
第二个对象有文件 1文件 2
第三个对象有文件 2文件 3
第四个对象有文件 3文件 4

因此总共会有四个额外的动态列,即文件 1、文件 2、文件 3、文件 4 每个对象都有相应文件字段的值,有时存在有时不存在。

<th ng-repeat="colms in getcolumns()"><a ng-click="sort_by("dont know wat to pass")">
<i>{{colms}}</i>
</a>
</th>

我已经完美地显示了带有动态列的表格,而且我还使用 angular-js 实现了每列的排序。但问题是排序适用于除动态列之外的所有表列

谁能告诉我一些解决方案

下面给出了我的 JS-Fiddle

<强> Demo

最佳答案

我知道您无法更改为您提供数据的服务,但您可以在将其放入 Controller 后对其进行转换。我为您创建了一个函数,该函数应该将列表的其他列更改为以 id 作为键、以 value 作为值的单独列。

$scope.transformDatas = function() {
$scope.newDatas = [];
for(var i in $scope.datas) {
var auxData = {};
angular.forEach($scope.datas[i], function(value, key) {
if(key != 'others')
auxData[key] = value;
else {
for(var j in $scope.datas[i].others) {
var nth = 1;
while(auxData[$scope.datas[i].others[j].id + ',' + nth] != undefined)
nth++;
auxData[$scope.datas[i].others[j].id + ',' + nth] = $scope.datas[i].others[j].value;
}
}
});
$scope.newDatas.push(auxData);
}
}

从这里到您的目标很容易,您已经完成了(对正常字段进行排序)。

fiddle http://jsfiddle.net/KR6Xh/15/

关于jquery - Angular JS : html table columns ordering not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22268989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com