2017-04-03 7 views
0

Wie deaktiviere ich in FlaskAdmin eine Reihe von Feldern, so dass sie nicht bearbeitet werden können, wenn ein Kontrollkästchen nicht aktiviert ist? Zum Beispiel, hier, wenn aktiviert ist nicht markiert, möchte ich die anderen Felder grau ausgrauen, so dass sie nicht bearbeitet werden können.Felder deaktivieren, wenn das Kontrollkästchen nicht aktiviert ist

Screenshot: enter image description here

Antwort

0

Nach einem flüchtigen Blick auf die FlaskAdmin docs und ähnliche Fragen auf dieser Seite, es scheint nicht eine klare Art und Weise, dies zu erreichen zu sein. (Ich könnte falsch liegen, da ich diese Erweiterung nicht verwendet habe.) Trotzdem können Sie dies in JavaScript erreichen. In Ihrer Jinja können Sie pretty easily eine Klasse für Ihre Felder festlegen, die dann verwendet werden kann, um Elemente in JavaScript auszuwählen. Hier ist ein sehr grobes Beispiel.

Jinja

{{ field(class_="checkbox") }} 
{{ field(class_="input") }} 
{{ field(class_="input") }} 
{{ field(class_="input") }} 

JQuery

$('body').off('change.checkbox') 
    .on('.checkbox', 'change.checkbox', function(e) { 
     if (this.checked) { 
      return $('.input').attr('disabled', ''); 
     } 
     return $('.input').removeAttr('disabled'); 
    }); 
+0

Vielen Dank für dieses Allie Fitter. Nach viel Recherche bin ich zu einem ähnlichen Schluss gekommen. Ich hatte gehofft, dass ich nicht noch ein paar zusätzliche Vorlagen machen musste. – Lorry

+0

Sie sollten relativ kleine Dateien sein. Ich bezweifle, dass es Ihre Codebasis zu sehr aufblasen würde. –

Verwandte Themen