web-dev-qa-db-fra.com

Angularjs: case à cocher et ng-change

J'ai des problèmes pour comprendre comment fonctionne ng-change. J'ai une liste d'utilisateurs à inviter à participer à une vente aux enchères. Je veux le faire avec une case à cocher. Si l'utilisateur est coché, son nom doit être enregistré dans un tableau. Et plus tard, je les inviterai (je sais juste comment faire). Mais je ne comprends pas comment utiliser la case à cocher. J'ai fait quelque chose comme ça:

<ul class="list-group" ng-repeat="user in users">
    <li class="list-group-item" ng-hide="user.name == profile">
        <img ng-src="{{user.img}}" class="image2" >
        <div class="username"> {{user.name}}</div>
        <div class="userrole"> {{user.role}} </div>
        <div class="usercompany">{{user.company}}</div>
        <input type="checkbox"  ng-model="isChecked" ng-change="insertinvited(user.name)">
    </li>
</ul>

Et dans mon contrôleur:

$scope.invited = [];
$scope.insertinvited= function (name) {
    if($scope.isChecked){
        $scope.invited.Push(name)
    } else {
        console.log($scope.invited);
    }
};

Mais cela ne fonctionne pas, dans la console, le tableau est toujours vide.

4
mpeg90

Utilise le

<input type="checkbox" id="{{'j' + $index}}" name="{{'j' + $index}}" ng-model="tasks.Checked" ng-change="checkinTask(tasks)"

Cette partie du contrôleur.

$scope.checkinTask = function (task) {

                        if (task.Checked === true) {
                            task.Lineclass = "checkedTask";
                            $scope.disabled = false;
                            trash.removeClass("disabled");
                        } else {
                            task.Lineclass = "";
                        }
                        var checkedExist = false;
                        tasks.forEach(function (v) {
                            if (v.Checked) {
                                checkedExist = true;
                            }
                        });
                        if (!checkedExist) {
                            $scope.disabled = true;
                            trash.addClass("disabled");
                        }
                    };
0
Volodymyr Kozlov