Ich habe Tabelle mit Eingabe = Textfelder, und wenn einige der Felder ID 'vier' hat, muss ich diese ganze Zeile deaktivieren. Dazu versuche ich, diese Funktion zu nutzen:Tabelle Zeile in angularjs deaktivieren
$scope.disableIfRowHasFour = function(row){
var result = row.filter(function(field){
return field.id === 'four';
})
return result.length !== 0;
};
und in 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>
und in devtools sehe ich, dass Zeile deaktiviert ist, aber Eingaben in dieser Reihe - nicht.
<tr ng-disabled="disableIfRowHasFour(row)" ng-repeat="row in tableFields" class="ng-scope" disabled="disabled">
wo liege ich falsch? Ich gehe davon aus, dass alle Elemente in einer Zeile deaktiviert werden .. Plnkr example
Sie sollten den ng-disabled-Tag am Eingang statt der tr –
ja, fügen aber wie kann ich alle Felder in einer Zeile deaktiviert, wenn id = vier nur 1 Eingang hat? – YoroDiallo
add ng-disabled = 'disableIfRowHasFour (row)' auf der Eingabe. Es sollte funktionieren –