我正在为商店制作订单历史记录。
正如您所看到的,某些日期时间是相同的,这意味着这些是必须在同一个表中的订单。
我试图制作的订单历史示例:
订单1
啤酒1 - (1-9-2016:21:37:20)
啤酒2 - (1-9-2016:21:37:20)
啤酒3 - (1-9-2016:21:37:20)
订单2
啤酒1 - (1-9-2016:21:43:16)
啤酒2 - (1-9-2016:21:43:16)
啤酒3 - (1-9-2016:21:43:16)
我目前拥有的是:
正如您所看到的,订单全部在一个表格中,而不按日期时间分组。
我收到订单的方法:
$scope.callBatch = function () {
var batchurl = "http://localhost/bierAngular/bierapi.php?action=getBatch";
$http.get(batchurl).success(function (response) {
$scope.batch = response;
});
};
$scope.callBatch();
我如何填写HTML:
<div class="showlijst">
<h1>Bestelgeschiedenis</h1>
<table border="1">
<tr>
<td>Naam</td>
<td>Aantal</td>
<td>Datum</td>
</tr>
<tr ng-repeat="b in batch | filter: datetime">
<td>{{b.naam}}</td>
<td>{{b.aantal}}</td>
<td id="dtime">{{b.datetime}}</td>
</tr>
</table>
</div>
抱歉我的英语不好,我尽力改善。
答案 0 :(得分:0)
假设响应是一个对象数组,请在将其分配给scope属性之前按日期对其进行排序。
注意:示例中的日期没有标准格式,您必须在日期和时间之间替换分隔符,“:”,用“T”替换,将顺序更改为年 - 月 - 日期,并填写左侧-hand将1位数的值归零(在下面的示例中完成)。
注2:按降序排序改为:return Date.parse(dates [1]) - Date.parse(dates [0]);
$scope.callBatch = function () {
var batchurl = "http://localhost/bierAngular/bierapi.php?action=getBatch";
$http.get(batchurl).success(function (response) {
response.sort(function (a, b) {
var dates = [a.datetime, b.datetime];
for (var i = 0; i < 2; i++) {
var sep = dates[i].indexOf(":");
var date = dates[i].substring(0, sep).split("-");
var time = dates[i].substring(sep+1).split(":");
for (var j = 0; j < 3; j++) {
while(date[j].length < 2) {date[j] = "0"+date[j];}
while(time[j].length < 2) {time[j] = "0"+time[j];}
}
dates[i] = date[2]+"-"+date[1]+"-"+date[0]+"T"+time[0]+":"+time[1]+":"+time[2];
}
return Date.parse(dates[0])-Date.parse(dates[1]);
});
$scope.batch = response;
});
};
$scope.callBatch();