我有一个ng-table(angular.js datable)实现,每页有25条记录,在页面上我点击了一个提交按钮,我需要遍历所有页面中的所有记录,找到哪些记录已经在此表中修改。
下面是我的代码,我只能遍历当前所选页面中的记录,而不是其余页面。
$scope.tableParams = new NgTableParams(
{
page: 1,
count: 25,
},
{
total: records.length,
getData: function ($defer, params) {
$scope.data = params.sorting() ? $filter('orderBy')(records, params.orderBy()) : result;
$scope.data = params.filter() ? $filter('filter')($scope.data, params.filter()) : $scope.data;
$scope.data = $scope.data.slice((params.page() - 1) * params.count(), params.page() * params.count());
$defer.resolve($scope.data);
}
});
var skus = [];
angular.forEach($scope.tableParams.data, function (product) {
if (product.quantity > 0) {
var sku =
{
AddToCart: true,
CategoryId: product.categoryId,
PriceCharged: product.displayPrice,
Quantity: product.quantity,
SkuCode: product.skuCode
}
skus.push(sku);
}
});
答案 0 :(得分:1)
可能您可以使用事件ngTableEventsChannel.onDatasetChanged来捕获已修改的行并将其复制到新对象。 您也可以尝试在已编辑的单元格上使用ng-change。
请记住,您在记录对象中拥有所有记录。