Ответ 1
ng-checked
работает с функциями. Вот демонстрация:
$scope.getCheckedFalse = function(){
return false;
};
$scope.getCheckedTrue = function(){
return true;
};
Html:
<input type="checkbox" ng-checked="getCheckedFalse()"/>
<input type="checkbox" ng-checked="getCheckedTrue()"/>
Ваша проблема в том, что вы никогда не возвращаете true в конце функции. return true;
внутри angular.forEach не помогает.
Try:
$scope.multiAnswers = function (answers, optionId) {
var returnValue = false;
angular.forEach(answers, function (answer, key) {
if (answer.option_choice_id == optionId) {
returnValue = true;
return;
}
});
return returnValue;
};
Похоже, что мы не можем выйти из angular.forEach: Angular JS break ForEach
Чтобы быстро улучшить производительность, если answer.option_choice_id == optionId
true. Вы можете попробовать jQuery $. Each или используя vanilar javascript (для цикла).