Avevo bisogno di una casella di riepilogo a discesa per un sito symfony che stavo progettando. Come programmatore principiante di symfony, volevo registrarlo per poterlo consultare più tardi. Sebbene questo usi un piccolo javascript, funzionerà correttamente ed è retrocompatibile per gli utenti senza javascript abilitato.
Ho cercato un po 'per il modo corretto di farlo in symfony. Spero che questo salvi qualcun altro un po 'di tempo.
Innanzitutto, ecco il codice:
'- Jump to List -')), array ('onChange' => 'Javascript: this.form.submit ();'))?> Var13 ->
Camminerò attraverso le parti non ovvie.
Il primo è il normale form_tag con il modulo di ritorno e l'azione.
Il prossimo, selezione è la tua selezione restituita. $ lista è la tua lista di oggetti.
array ('include_custom' => '- Vai a elenco -') crea un campo iniziale o titolo univoco per la lista.
array ('onChange' => 'Javascript: this.form.submit ();' è il javascript che esegue il modulo sul campo.
Il submit_tag nei tag noscript consente al pulsante di invio di essere visto solo da chi non ha abilitato javascript. Ciò mantiene il tuo design retrocompatibile con quelli senza javascript.
In caso di smarrimento, consultare il riferimento ai moduli di symfony per ulteriori dettagli.