使用AngularJS在gridview中选中复选框(全部选中并取消选中)

使用AngularJS在gridview中选中复选框(全部选中并取消选中),angularjs,gridview,checkbox,Angularjs,Gridview,Checkbox,我试图用AngularJS在网格视图中进行一个简单的检查&取消所有检查,但我发现的所有示例都依赖于ng repeat,任何帮助都将不胜感激 问题是我使用了ng checked来实现我的目标,但是当选中主复选框时,子复选框不会触发onchange事件 因此,我无法根据是否选中子复选框来完成某些更改的任务 var ngGridApp = angular.module('gridApp', []); ngGridApp.controller('mainController', ['$s

我试图用AngularJS在网格视图中进行一个简单的检查&取消所有检查,但我发现的所有示例都依赖于ng repeat,任何帮助都将不胜感激

问题是我使用了ng checked来实现我的目标,但是当选中主复选框时,子复选框不会触发onchange事件 因此,我无法根据是否选中子复选框来完成某些更改的任务

    var ngGridApp = angular.module('gridApp', []);

   ngGridApp.controller('mainController', ['$scope', function ($scope) {
    $scope.name = "gridCtrl";
    $scope.ids = {};

    $scope.ConLog = function (val) {
        console.log(val);
    };

    $scope.CheckUnCheckAll = function () {
        $scope.$watch('ids', function (newValue, oldValue) {
            $scope.ids = newValue;
        });
    }
 }]);
好的,我找到了解决办法。 关键是首先填充数组,以便以后可以使用它,因为我不使用ng repeat,所以我需要首先将我的子复选框绑定到$scope


请发布您当前拥有的代码,并解释为什么您不能或不想使用ng-repeat。因为我使用的是ASP.NET并从DB中填充gridview服务器控件,此gridview呈现为我代码的TableLive示例
var ngGrigApp = angular.module('gridApp', []);

ngGrigApp.controller('mainController', ['$scope', function ($scope) {
    $scope.name = "gridCtrl";
    $scope.ids = [];

    $scope.BindIds = (function () {
        angular.element("input[id*=chkBoxSelected]").each(function () {
            $scope.ids.push({ "value": this.value, "IsChecked": this.checked });
        });
    })();

    $scope.triggerAll = function () {

        angular.forEach($scope.ids, function (obj) {
            if ($scope.chkBoxChief) {
                obj.IsChecked = true;
            }
            else {
                obj.IsChecked = false;
            }
        })
    }
}]);