Ich brauchte ein Dropdown-Listenfeld für eine Symfony-Site, die ich entwarf. Als Neuling-Symfony-Programmierer wollte ich das aufnehmen, um später darauf zurückgreifen zu können. Obwohl dies ein wenig Javascript verwendet, wird es korrekt funktionieren und ist abwärtskompatibel für Benutzer ohne Javascript.
Ich suchte eine Weile nach dem richtigen Weg, um dies in Symfony zu tun. Hoffentlich spart dies jemandem etwas Zeit.
Zuerst ist hier der Code:
'- Springe zur Liste -')), array ('onChange' => 'Javascript: this.form.submit ();'))?> Var13 ->
Ich gehe durch die nicht offensichtlichen Teile.
Zuerst ist das normale form_tag mit Ihrem Return-Modul und Ihrer Aktion.
Nächster, Auswahl ist Ihre zurückgegebene Auswahl. $ liste ist Ihre Liste von Objekten.
array ('include_custom' => '- Jump to List -') Erstellt ein eindeutiges Anfangsfeld oder einen eindeutigen Titel für die Liste.
array ('onChange' => 'Javascript: this.form.submit ();') ist das Javascript, das das Formular bei Feldänderung ausführt.
Mit dem submit_tag in den noscript-Tags kann der Submit-Button nur von Benutzern ohne aktiviertes Javascript gesehen werden. Dadurch bleibt Ihr Design mit jenen ohne Javascript kompatibel.
Wenn Sie verloren gehen, finden Sie weitere Informationen in der Referenz zu Symfony-Formularen.