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

时间:2018-07-31 08:42:23

标签: javascript html angularjs

最近我一直在使用复选框,认为包括全选功能是有意义的,可以在我的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),但是,如果我单击以查看下一页,除非再次单击该按钮,否则它将不会选择它们。我想知道可能是什么问题。

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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