<span ng-repeat="s in colors">
<p><li><input type="checkbox" ng-model="colors[id].checked" ng-change="setColor(s.id)"> {{s.name}}</li></p>
</span>
在我的控制器中,
$scope.colorsel= [];
$scope.setColor = function(a){
if($scope.colorsel.indexOf(a) == -1 ){
$scope.colorsel.push(a);
}
else{
var index = $scope.colorsel.indexOf(a)
$scope.colorsel.splice(index,1);
}
}
我已经正确获取了颜色选择的值。但是,如果我选择一个复选框,它只会显示所有复选框都被选中(也就是说,在所有复选框中都出现了勾选标记,但实际上只有在颜色选择数组中选择的复选框ID被选中)。如果我选择其他复选框,则所有勾选标记都将消失。请帮我解决这个问题。