Gibt es eine Möglichkeit, ein ganzes div-Tag in angularjs zu deaktivieren. Ich habe ein Div-Tag, das mehrere Formularfelder enthält, die ich mit nur einer Bedingung deaktivieren möchte. Ist das möglich? Unten ist mein Code.Ich habe es versucht, aber es hat nicht funktioniert. Irgendwelche Vorschläge wären hilfreich. Danke, siehe Code unten. Ich habe das Hauptdiv-Tag, das das Formular enthält. Ich möchte das Formular basierend auf einer Bedingung deaktivieren, sodass Benutzer die ID- und Namenstextfelder nicht eingeben können.Ein ganzes div in angularjs deaktivieren
Antwort
Sie können leicht Ihre eigene Direktive hierfür erstellen, dies wird alle Eingaben innerhalb des Elements (Formular in Ihrem Fall) deaktivieren;
yourModule.directive('disableForm',function(){
return{
scope:{
disableForm:'='
}
link:function(scope, element){
if(scope.disableForm){
angular.element('input',element).attr('disabled','disabled') ;
}
}
}
});
und in HTML,
<form name="form" role="form" novalidate disable-form="condition" ...
Div nicht Konzept der Sperrung haben. Eingabe haben ein Konzept von readonly
. Sie können das ng-readonly
Attribut verwenden, um die Variable mit der Bindung, die bestimmt, ob das Formular nur
<input type="text" class="form-control" name="id" ng-model="study.id" ng-readonly="readMode">
Dies funktioniert nicht, danke für Ihre Eingabe, obwohl – user3799365
Es sollte, überprüfen Sie die Dokumentation für ng-Readonly https://code.angularjs.org/1.2.15/docs/api/ng/directive/ngReadonly und es gibt auch ein Beispiel . – Chandermani
Sie ‚fieldset‘ anstelle von ‚div‘ verwenden können gelesen und es wird alle Formularelemente im Inneren deaktivieren, wenn Sie fügen ng-disabled hinzu. finden Sie unter:
<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>
Dies setzt das 'deaktiviert' Attribut auf dem fieldset, das nicht wirklich seine Formularelemente in IE 9 und unterhalb deaktiviert https://github.com/twbs/bootstrap/issues/8701 –
Danke für die Information! Ich werde das überprüfen. – Pavi
Vielen Dank. Es ist Arbeit für mich –
Einfach, erstellen Sie eine Variable zum Beispiel „disableAll“ und die Verwendung ng-disabled = „disableAll“ an Orten, wo Sie steuern möchten, aktivieren/deaktivieren. Im folgenden Beispiel habe ich geändert ursprünglichen Code und Sie können es, indem unter Leitung aktivieren und deaktivieren:
<div ng-init="disableAll=true" >
hier ist der Code:
<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>
Diese Direktive gut für mich gearbeitet hat: https://github.com/PLEEROCK/angular-disable-all
im Haupt <div>
Sie schreiben:
<div ng-class="{'my-disable':condition}">
in der CSS-Datei:
.my-disable{
pointer-events:none;
}
Das hat perfekt funktioniert! Es ist jedoch ein relativ neues CSS-Attribut, das in älteren Browsern nicht unterstützt wird (http://caniuse.com/#feat=pointer-events). – jessewolfe
Dies funktioniert nicht, wenn der Benutzer über das Feld navigiert oder sich über das Feld bewegt und etwas eingibt. – PebblePicker
Sie die CSS bearbeiten/weniger alle Elemente innerhalb des behinderten div abzuschalten.
Zum Beispiel:
stellen Sie die .disabled-Klasse in html:
<div ng-disabled="disableExpression"
ng-class="{'disabled': disableExpression}"
>
<!-- content -->
</div>
Stil Ihre Behinderte div:
.disabled{
opacity: 0.5;
pointer-events: none;
> * {
opacity: 0.5;
pointer-events: none;
}
}
Immer noch über eine Tastatur erreichbar –
- 1. AngularJS deaktivieren vorübergehend Animationen
- 2. #primary div Deaktivieren #secondary div in Chrome
- 3. Wie ein Eingabefeld mit Angularjs deaktivieren
- 4. URL Manipulation in AngularJS deaktivieren
- 5. AngularJS - Wiederhole ein div und eine Taste
- 6. ein ganzes Bündel an SharedPreferences
- 7. Wie ein Div scrollen mit AngularJS
- 8. Hide ein Div auf Scroll mit AngularJS
- 9. s3cmd bekomme ein ganzes Verzeichnis
- 10. "Atomic" update ein ganzes Array
- 11. deaktivieren Bootstrap Navbar Taste AngularJS
- 12. AngularJS: Klicken Sie und übergeben Sie ein ganzes Objekt von einer Seite zu einer anderen Seite
- 13. Kopieren Sie ein ganzes Verzeichnis
- 14. Ein ganzes Eclipse-Projekt in py4j verwenden
- 15. Deaktivieren AngularJS $ http Cache
- 16. Dienstprogramm ein ganzes Archiv in ein Verzeichnis in Java entpacken
- 17. Aktualisierung Div mit AngularJS
- 18. AngularJS Drucken Versteckt Div
- 19. AngularJS ng-disable alle Elemente deaktivieren
- 20. Wie in WPF ein ganzes Objekt an ein Benutzersteuerelement binden?
- 21. Angularjs toggle div Sichtbarkeit
- 22. PDFJs Viewer.html in ein div
- 23. Deaktivieren Sie alle Kontrollkästchen in AngularJS
- 24. Wie Setup Grunzen-babel ein ganzes Verzeichnis
- 25. Symfony2 - Übersetzungsdomäne für ein ganzes Formular festlegen
- 26. Kopieren Sie ein ganzes Verzeichnis mit Phing
- 27. Wie deaktivieren Hervorhebung (Auswahl) Text in DIV
- 28. Ein ganzes Modell bei der Formularübergabe übergeben
- 29. Zip ein ganzes Verzeichnis auf S3
- 30. Wie Sie Inhalt basierend auf Kontrollkästchen in AngularJS/Bootstrap3 deaktivieren
Dank aber diese Lösung hat nicht funktioniert. – user3799365