Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ng repeat angularjs在表中应用rowspan_Javascript_Angularjs_Html Table_Angularjs Ng Repeat - Fatal编程技术网

Javascript 使用ng repeat angularjs在表中应用rowspan

Javascript 使用ng repeat angularjs在表中应用rowspan,javascript,angularjs,html-table,angularjs-ng-repeat,Javascript,Angularjs,Html Table,Angularjs Ng Repeat,我有这样的数组 $scope.orderno=[ {"orderno":1254,"weight":25875,"group":5}, {"orderno":56787,"weight":25875,"group":5}, {"orderno":567,"weight":25875,"group":3}, {"orderno":123254,"weight":25875,"group":3} ]; 现在我想用html显示,如下所示 我试过了,但不行。我在下面附上了我的试用代码 <div

我有这样的数组

$scope.orderno=[
{"orderno":1254,"weight":25875,"group":5},
{"orderno":56787,"weight":25875,"group":5},
{"orderno":567,"weight":25875,"group":3},
{"orderno":123254,"weight":25875,"group":3}
];
现在我想用html显示,如下所示

我试过了,但不行。我在下面附上了我的试用代码

<div ng-app>
  <table ng-controller="MainCtrl">
    <thead>
      <div>
        <tr>
          <td>orderno</td>
          <td>weight</td>
          <td rowspan={{orderwt}}>group</td>
        </tr>
      </div>
    </thead>
    <tbody ng-repeat="item in orderno">
      <tr>
        <td></td>       
        <td></td>
        <td rowspan="{{orderno.length}}">{{item.group}}</td>
      </tr>
      <tr>
        <td>{{item.orderno}}</td>     
        <td>{{item.weight}}</td>
      </tr>
    </tbody>
  </table>
</div>

订单编号
重量
组
{{item.group}
{{item.orderno}
{{item.weight}}

我试过了,但找不到正确的答案

您应该做的第一件事是将数据转换为更易于迭代的格式。例如,您可以使用
array.reduce()
来帮助您创建一个由组号设置关键帧的新对象。然后可以迭代该对象以创建表

请参见下面带有注释的示例代码段:

//这是您的原始数据数组
设arr=[{
“订单号”:1254,
“重量”:25875,
“集团”:5
},
{
“订单号”:56787,
“重量”:25875,
“集团”:5
},
{
“订单号”:567,
“重量”:25875,
“集团”:3
},
{
“订单号”:123254,
“重量”:25875,
“集团”:3
}
],//使用reduce和Object.create创建一个由组号设置键的新对象
结果=arr.reduce(函数(r,a){
r[a.集团]=r[a.集团]| |[];
r[a.group].push(a);
返回r;
},Object.create(null));
设app=angular.module('myApp',[]);
app.controller('myCtrl',函数($scope,$http){
$scope.groups=结果;
});

团体
订单号
重量
{{group.group}}
{{group.orderno}
{{group.weight}}

数组中的那些项目是否已在
group
键上排序和分组?您的数据结构与您希望视图的外观完全不匹配。您需要不同的数据结构。转换数据,使其如下所示:
$scope.orderno={“5”:[{“orderno”:1254,“weight”:25875},{“orderno”:56787,“weight”:25875}],“3”:[{“orderno”:567,“weight”:25875},{“orderno”:123254,“weight”:25875}
然后您会发现迭代要容易得多,但它有dublicates@JeremyThille好的。r告诉我如何使用您的结构进行迭代HMMM,否:)我已经用正确的数据结构给了您一个强烈的提示,现在轮到您尝试了。使用这种结构应该容易得多,因为它与您的HTML视图相匹配。