1

このようなすべてのチェックボックスとリストチェックボックスを選択しています。
すべて選択チェックボックス

チェックボックスリストはデータを受け取ります

$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;
            }    
        }
    }

しかし、実行して[すべて選択]チェックボックスをクリックすると。エラーが発生します:

チェックボックスをクリックした後のエラー

それを解決する方法、またはそれを行う他の方法はありますか?ありがとう

4

2 に答える 2

2

ng-model="checkAllContact"& メソッドcheckAllContactは同じ名前です。

checkAllContactスコープ変数は によってオーバーライドされていcheckAllContactます。

問題を解決するには、関数名を変更する必要があります。

于 2015-05-08T09:37:34.333 に答える