我有输入=文本字段的表格,当某些字段有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
答案 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">