Ng-changeの仕組みを理解するのに問題があります。オークションに参加するよう招待するユーザーのリストがあります。チェックボックスを使用してこれを実行します。ユーザーがチェックされている場合は、その名前を配列に保存する必要があります。そして後で私はそれらを招待します(私はこれを行う方法を知っています)。しかし、私はチェックボックスの使い方がわかりません。私はこのようなことをしました:
<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>
そして私のコントローラーで:
$scope.invited = [];
$scope.insertinvited= function (name) {
if($scope.isChecked){
$scope.invited.Push(name)
} else {
console.log($scope.invited);
}
};
しかし、これは機能していません。コンソールでは、配列は常に空です。
これを使って
<input type="checkbox" id="{{'j' + $index}}" name="{{'j' + $index}}" ng-model="tasks.Checked" ng-change="checkinTask(tasks)"
コントローラからのこのパーツ。
$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");
}
};