javascript - 在 AngularJS 中选择所有复选框

标签 javascript angularjs checkbox angularjs-ng-change

我有一个像这样的全选复选框和列表复选框。
Select All Checkbox

复选框列表从中接收数据

$scope.contacts = [
        {"name": "Bambizo", "check": false},
        {"name": "Jimmy", "check": false},
        {"name": "Tommy", "check": false},
        {"name": "Nicky", "check": false}
];

我希望当我选中“全选”复选框时,它会选中或取消选中下面列表中的所有复选框。这是我的代码:

选中所有复选框:

<input type="checkbox" ng-model="checkAllContact" ng-change="checkAllContact(checkAllContact)">

checkAllContact 函数:

$scope.checkAllContact = function(){
        var allChecked = false;
        for(i = 0; i< $scope.contacts.length; i++){
            if ($scope.contacts[i].check == true){
                allChecked = true;
            }else {
                allChecked = false;
            }
        }

        if (allChecked = true){
            for(i = 0; i< $scope.contacts.length; i++){
                $scope.contacts[i].check = false;
            }
        }else{
            for(i = 0; i< $scope.contacts.length; i++){
                $scope.contacts[i].check = true;
            }    
        }
    }

但是当我运行并单击“全选”复选框时。它会出错:

Error when after click checkbox

如何解决或者有其他办法吗?谢谢

最佳答案

ng-model="checkAllContact" 和方法 checkAllContact 具有相同的名称。

checkAllContact 范围变量被 checkAllContact 覆盖。

您需要更改函数名称才能解决问题。

关于javascript - 在 AngularJS 中选择所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30120376/

相关文章:

angularjs - 将自定义类添加到 md-dialog-container

javascript - Angular.js 的 ASP.NET 捆绑和缩小错误

css - 使用 Selenium2/Webdriver 将复选框编码为 div 时如何断言复选框已被选中

javascript - 根据显示的复选框显示警报

javascript - 限制 ng-repeat 内选中的复选框数量

javascript - JQuery 无限滚动 - 达到最大页面限制后为 "load more"

javascript - JavaScript-使用通配符(*)进行过滤

JavaScript/ typescript : Can you look up number values in a list and replace them with strings?

javascript - 根据属性值降序对键值对进行排序

ruby-on-rails - 使用 Rails 的身份验证错误 - 设计和 AngularJS