C'è un modo per disabilitare un intero tag div in angularjs. Ho un tag div che contiene al suo interno diversi campi modulo che voglio disabilitare con una sola condizione. È possibile? Di seguito è riportato il mio codice. Ho provato a utilizzarlo ma non ha funzionato. Qualsiasi suggerimento sarebbe utile. Grazie, per favore vedi il codice qui sotto. Ho il tag div principale che contiene il modulo. Voglio disabilitare il modulo in base a una condizione, in modo che l'utente non possa inserire l'id e denominare i campi di testo.disabilitazione di un intero div in angularjs
risposta
è possibile creare facilmente la propria direttiva per questo, ciò disabiliterà tutti gli input all'interno dell'elemento (modulo nel caso);
yourModule.directive('disableForm',function(){
return{
scope:{
disableForm:'='
}
link:function(scope, element){
if(scope.disableForm){
angular.element('input',element).attr('disabled','disabled') ;
}
}
}
});
e in HTML,
<form name="form" role="form" novalidate disable-form="condition" ...
Div non ha il concetto di disabilitazione. L'input ha un concetto di readonly
. È possibile utilizzare l'attributo ng-readonly
con legame alla variabile che determina se il modulo è di sola lettura
<input type="text" class="form-control" name="id" ng-model="study.id" ng-readonly="readMode">
Questo non funziona, grazie per l'input però – user3799365
Dovrebbe, controllare la documentazione per ng-readonly https://code.angularjs.org/1.2.15/docs/api/ng/directive/ngReadonly e c'è anche un esempio . – Chandermani
è possibile utilizzare 'fieldset' invece di 'div' e disabiliterà tutti gli elementi dei moduli all'interno se aggiungi ng-disabled ad esso. riporta qui di seguito:
<fieldset ng-disabled="true">
<label>ID</label> <input type="text" class="form-control"
name="id" ng-model="study.id">
<label>Name</label> <input type="text" class="form-control"
name="name" ng-model="study.name" ng-minlength=1
ng-maxlength=50 ng-required="true">
</fieldset>
Imposta l'attributo 'disabled' sul fieldset, che in realtà non disabilita i suoi elementi del modulo in IE 9 e sotto https://github.com/twbs/bootstrap/issues/8701 –
Grazie per l'informazione! Lo contollerò. – Pavi
Grazie mille. È lavoro per me –
Semplice, creare una variabile, ad esempio "disableAll" e l'uso ng-disabled = "disableAll" nei luoghi in cui si desidera controllare abilitare/disabilitare. Nell'esempio qui di seguito, ho modificato il codice originale e si può attivare e disattivare cambiando sotto la linea:
<div ng-init="disableAll=true" >
ecco il codice:
<div ng-controller='myCtrl'>
<div ng-init="disableAll=true" >
<form name="form" role="form" novalidate
class="ng-scope ng-invalid ng-invalid-required ng-dirty ng-valid-minlength"
ng-submit="createStudy()" >
<div class="form-group" >
<label>ID</label> <input type="text" class="form-control"
name="id" ng-model="study.id" ng-disabled="disableAll">
</div>
<div class="form-group" >
<label>Name</label> <input type="text" class="form-control"
name="name" ng-model="study.name" ng-minlength=1
ng-maxlength=50 ng-required="true" ng-disabled="disableAll">
</div>
<div class="modal-footer">
<a href="#/studies"><button type="button" class="btn btn-default"
data-dismiss="modal" ng-click="clear()" ng-disabled="disableAll">
<span class="glyphicon glyphicon-ban-circle"></span> Cancel
</button></a>
<button type="submit" ng-disabled="disableAll"
class="btn btn-primary">
<span class="glyphicon glyphicon-save"></span> Save
</button>
</div>
</form>
</div>
</div>
Questa direttiva ha funzionato bene per me: https://github.com/PLEEROCK/angular-disable-all
nella principale <div>
si scrive:
<div ng-class="{'my-disable':condition}">
nel file css:
.my-disable{
pointer-events:none;
}
Questo ha funzionato perfettamente! Tuttavia, è un attributo CSS relativamente nuovo che [non è supportato nei browser più vecchi] (http://caniuse.com/#feat=pointer-events). – jessewolfe
Questo non funzionerà se l'utente naviga o si sposta attraverso il campo utilizzando la scheda e digitare qualcosa. – PebblePicker
È possibile modificare il css/meno per disabilitare tutti gli elementi all'interno del disabile div.
Ad esempio:
impostare la classe .disabled in html:
<div ng-disabled="disableExpression"
ng-class="{'disabled': disableExpression}"
>
<!-- content -->
</div>
stile il vostro disabilitato div:
.disabled{
opacity: 0.5;
pointer-events: none;
> * {
opacity: 0.5;
pointer-events: none;
}
}
Ancora accessibile tramite una tastiera –
- 1. Convalida disabilitazione convalida disabilitazione
- 2. Espandi un div a schermo intero
- 3. AngularJS Print Hidden Div
- 4. come aggiungere div a un div usando angularjs
- 5. Larghezza schermo intero div area
- 6. imposta l'altezza di un div a un altro div in angularjs
- 7. disabilitazione di un pulsante in JavaFX
- 8. AngularJS - Assegnare una casella di controllo a un numero intero?
- 9. Angularjs alterna la visibilità div
- 10. AngularJS campo intero di ordinamento non funziona correttamente
- 11. jQuery focusout per intero div e bambini
- 12. Come rendere un intero div cliccabile con i CSS
- 13. Come rendere un div a schermo intero e scorrevole?
- 14. Come spostare un intero elemento div su x pixel?
- 15. PDFJs Viewer.html in un div
- 16. Disabilitazione automatica di RichTextBox
- 17. CSS schermo intero div con il testo in mezzo
- 18. Come scorrere un div a sinistra utilizzando AngularJS
- 19. ng-show disturbing div layout - angularJS
- 20. Disabilitazione del buffer di output in PHP
- 21. Disabilitazione dell'output Log4J in Java
- 22. HOWTO: NSWindow In modalità FullScreen (Lion) E Abilitazione/disabilitazione?
- 23. jQuery, ottieni html di un intero elemento
- 24. angularJS - ottenendo posizioni x & y da mouseclick in div
- 25. Disabilitazione del costruttore di spostamenti
- 26. Disabilitazione della rotazione automatica per un UIView
- 27. jQuery duplicato DIV in un altro DIV
- 28. Trova div in un div e rimuovilo?
- 29. Angularjs attendi fino a div immagine-sfondo di sfondo mostra
- 30. ValidatorEnable non disabilitazione richiestofieldvalidator
Grazie, ma questa soluzione non ha funzionato. – user3799365