在angularjs中禁用表行

时间:2016-12-06 17:28:20

标签: javascript angularjs

我有输入=文本字段的表格,当某些字段有id'四'我需要禁用整行。为此,我尝试使用此功能:

  $scope.disableIfRowHasFour = function(row){
    var result = row.filter(function(field){
      return field.id === 'four';
    })

    return result.length !== 0;
  };

并在html中:

<tr ng-disabled='disableIfRowHasFour(row)' ng-repeat='row in tableFields'>
  <td ng-repeat='field in row'>
    <input type="text" value='{{field.value}}'>
  </td>
</tr>

并且在devtools中我看到该行已被禁用,但此行中的输入 - 不是。

<tr ng-disabled="disableIfRowHasFour(row)" ng-repeat="row in tableFields" class="ng-scope" disabled="disabled">

我错了?我希望连续的所有项目都会被停用.. Plnkr example

1 个答案:

答案 0 :(得分:1)

tr标记中,使用ng-init初始化具有禁用值的变量:

<tr ng-init='rowDisabled=disableIfRowHasFour(row)' ng-repeat='row in tableFields'>

在输入中添加ng-disabled

<input type="text" value='{{field.value}}' ng-disabled="rowDisabled">