6 Stimmen

Django crispy form, Felder in der Vorlage aus-/einblenden

Ich verwende Crispy-Form und Bootstrap in Django. Das funktioniert sehr gut. Nun möchte ich, dass ein Feld nur angezeigt wird, wenn ein anderes Feld eine Eingabe hat. Im Grunde habe ich ein multpile select list mit dem Namen A sichtbar, und ein text field , B, versteckt. Sobald der Benutzer einen oder mehrere Werte in A fokussiert/auswählt, sollte B sichtbar werden. Und wenn keiner ausgewählt ist, sollte er unsichtbar werden.

Verfügt das Cripsy-Formular über diese Funktion oder die Möglichkeit, das JS zu schreiben? Oder muss ich das JS in die HTML-Seite schreiben, auf der das Formular gerendert wird?

ciao

4voto

Teisman Punkte 1267

Ich habe einmal etwas Ähnliches gemacht. Ich habe den Eingängen, die zunächst ausgeblendet werden sollen, die Klasse "hidden" zugewiesen. Das kann man machen, indem man die Felder in einem Div verschachtelt und eine css_class zuweist. Siehe http://django-crispy-forms.readthedocs.org/en/d-0/layouts.html#universal-layout-objects

Verwenden Sie dann Javascript, um die Klasse "Hidden" zu entfernen, wenn eine bestimmte Aktion stattfindet.

Wenn Sie sich für die Verwendung von jQuery entscheiden, können Sie die folgende Funktion verwenden: $("input[name='a_hidden_field']").removeClass('hidden')

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X