2012-06-05 20 views
8

En realidad, puedo asignar una tarea a un usuario en la tarea de edición. Aparece una lista desplegable de todos los usuarios en el sistema cuando edito una tarea. Ahora, podría mostrar una entrada de texto con autocompletar para el usuario y poder agregar el usuario si no existe.¿Cómo agregar un campo de autocompletar en formularios Symfony2?

¿Cómo hacer eso?

Gracias de antemano.

Respuesta

19

dos cosas que hay que hacer:

1) Crear un transformador de datos

HICH le permitirá utilizar un campo de entrada en lugar de la lista desplegable por defecto a la entidad vinculada.

El Transformador de datos básicamente transforma su entrada (en su caso, una cadena de nombre de usuario) en un objeto de usuario real que puede almacenar con su entidad. Le permitirá definir un campo de entrada en lugar del menú desplegable predeterminado para la entidad vinculada. Eche un vistazo a the documentation, es bastante sencillo.

2) Crear el autocompletar Ajax

Esto se puede hacer utilizando cualquier biblioteca que desee (jQuery, Prototype, etc) en el lado del cliente y del lado del servidor que maneja esto en su acción del controlador y responde con formato JSON o una plantilla renderizada. Hay muchos tutoriales para esto por ahí. El resultado de Ajax podría incluir un enlace para crear un nuevo usuario, si no se encuentra ninguno.

El Transformador de datos es en lo que necesita enfocarse, y lo pondría en funcionamiento antes de trabajar en la interfaz de usuario.

Cuestiones relacionadas