在ng-repeat中使用ng-disabled

时间:2016-02-29 19:14:41

标签: javascript angularjs

我有一个无线电输入,其中包含一个ng-repeat,它具有ng-disabled,可以触发一个在其中有if else if块的函数。如果满足其中一个条件,则返回布尔值。我的问题是,如果条件满足条件,我只想禁用某些无线电。目前,如果满足条件,则将为数组中的所有项设置布尔值。如何在ng-repeat中运行ng-disabled函数并满足每个项目的条件?

2 个答案:

答案 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传递给该函数。

相关问题