6
<div ng-repeat="x in spaceutilization"> 
    <input type="checkbox" name="{{x.filenumber}}" id="{{x.id}}" class = "pdffiles" value="101SP{{x.initials}}.dwg" /><label for="{{x.id}}"><button type = "button" class = "btn btn-primary btn-sm hidden-sm hidden-xs"> PDF</button></label><br /> 
</div> 

Devo essere in grado di aggiungere qualcosa a questo frammento che disabilita la casella di controllo dell'input basata su un altro input AngularJS come {{x.status}}. Ho provato semplicemente facendo:Come posso disattivare la mia casella di controllo dall'input AngularJS?

<input type="checkbox" name="{{x.filenumber}}" id="{{x.id}}" class = "pdffiles" value="101SP{{x.initials}}.dwg" {{x.status}} /> 

Dove status:'disabled' ma che ha dato una potenza di

{{x.status}}="" 

all'interno dell'elemento di ingresso ... che io non capisco perché a tutti. Ma sembrava il percorso più semplice.

+1

È possibile aggiungere gli attributi in modo dinamico utilizzando il metodo di interpolazione al tag html. Nel tuo caso puoi semplicemente fare 'ng-disabled =" x.status "' –

risposta

10

È necessario utilizzare ng-disabled="expression" direttiva, sulla base del valore di valutazione delle espressioni è aggiungere l'attributo disabilitato a quella element.Also per l'attributo meglio i valori di valutazione si potrebbe usare ng-attr direttiva

Markup

<input type="checkbox" ng-attr-name="{{x.filenumber}}" ng-attr-id="{{x.id}}" class ="pdffiles" 
value="101SP{{x.initials}}.dwg" ng-disabled="x.status == 'disabled'"/> 

Se x.status ha scritto un valore bool, è possibile utilizzare direttamente ng-disabled="{{x.status}}"

+0

vuoi dire {{x.status}} == 'disabled'? Inoltre, quale stato sarebbe uguale? Cosa succede se non si disabilita la casella di controllo? – Christine268

+0

Usando il commento di @Rahil Wazir sopra, ho fatto ng-disabled = "{{x.status}}" dove stato: 'vero' o stato: 'falso' – Christine268

+1

@ Christine268 hey non usa l'interpolazione con 'ng-disabled' direttiva, la direttiva 'ng-disabled' è abbastanza matura per valutare le variabili di scope, deve essere' ng-disabled = "x.status" 'se' x.status' ha booleano –