繁体   English   中英

AngularJS-全选按钮未选择表中的所有行

[英]AngularJS - Select All button not selecting all rows on table

我最近一直在使用复选框,认为包括全选功能很有意义,可以在我的HTML和AngularJS代码中找到该功能:

HTML:

 <button class="btn btn-default btn-sm" ng-click="selectChosenServices()">Select All
 </button>

AngularJS:

$scope.selectChosenServices = function () {
        for (var i = 0; i < $scope.siteUserServicesTable.data.length; i++) {
            $scope.siteUserServicesTable.data[i].chosen = true;
        }
    };

我注意到的代码本身确实适用于显示的当前行(设置为10),但是,如果我单击以查看下一页,除非再次单击该按钮,否则它将不会选择它们。 我想知道可能是什么问题。

我不知道为什么,但有时for循环无法正常工作,您可以尝试以下代码吗?

angular.forEach($scope.siteUserServicesTable, function(TableRow, Index){
 TableRow.chosen = true;
})

我的猜测是您一次只加载10条记录。 当您转到下一页时,将加载下10条记录? 如果是这种情况,则不会选择它,因为当您在第一页上时,您只有10条记录。 接下来的10条记录不存在。

首先确定第一次在页面上呈现时您将获得多少条记录?

  • 如果每次仅获得10条记录,则必须在每个渲染的初始化中调用此函数。
  • 如果您正在获取所有记录,那么它将肯定可以正常工作。
  • 为了获得更好的性能和效率,我建议您使用lodash库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM