我有一个无线电输入,其中包含一个ng-repeat,它具有ng-disabled,可以触发一个在其中有if else if块的函数。如果满足其中一个条件,则返回布尔值。我的问题是,如果条件满足条件,我只想禁用某些无线电。目前,如果满足条件,则将为数组中的所有项设置布尔值。如何在ng-repeat中运行ng-disabled函数并满足每个项目的条件?
答案 0 :(得分:2)
您必须将项目或重复 $ index 重复到您的检查功能以进行区分,例如:
<input ng-repeat="item in yourItems" type="radio" ng-disabled="yourChecker($index, item)">
在控制器js中:
$scope.yourChecker = function(index, item){
if(index==x){
// TODO: return state here
}
// Or check item property
if(item.x){
}
}
答案 1 :(得分:1)
<form>
<input type="radio" ng-repeat="element in array track by $index" ng-disabled="isDisabled(element)">{{element}}</input>
</form>
在范围中定义isDisabled
,并使用任何给定element
的属性返回布尔值。如果您想根据索引执行此操作,也可以将$index
传递给该函数。