Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/07/2014, 11:38
Avatar de fhederico
fhederico
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 3 meses
Puntos: 23
Respuesta: Crear formulario emergente (Form modal) con jquery

No es posible hacer esto, ya que el for lo que hace es ir pisando el valor en cada iteracion, por lo tanto esta correcto que te muestre el ultimo est.id. Ademas piensa que la plantilla de twig se genera y se convierte en HTML antes de mostrartela a ti, por lo tanto el no sabe el codigo que tu debes seleccionar.

Lo que puedes hacer es en un campo oculto setear el ID que tu seleccionaste y al enviar el formulario rescatarlo en tu controller o simplemente reemplazar el action por ejemplo asumiendo que tu "codigo" no va como parametro, es decir, que la ruta de tu controller es asi

Código HTML:
Ver original
  1. {{ path('docente_notas_x_estudiante') }}

y te generara algo asi por ejemplo

Código HTML:
Ver original
  1. /hola/symfony/web/edit/

Empezamos con el ejemplo de JQuery


Código PHP:
Ver original
  1. {% for est in estudiantes %}
  2.      
  3.          <li><a class='activate_modal' name='modal_window' id="{{ est.id }}">Evaluar</a>  </li>
  4.      
  5.     {%endfor%}


Código Javascript:
Ver original
  1. $(document).ready(function()
  2.     {
  3.        $(".activate_modal").click(function ()
  4.         {
  5.                     //A la ruta le agregamos el codigo como parametro
  6.             _url = '{{path('docente_notas_x_estudiante')}}' + "?codigo="+$(this).attr("id");
  7.                    //Reemplazaos el action
  8.                   $("#login").attr("action", _url);
  9.         });
  10.     });

Porque le envio el codigo despues de que genero la ruta? porque como te dije antes la plantilla twig la genera antes de mostrartela, por lo tanto le anexamos el parametro "codigo" despues con Javascript, que esto lo hace en el cliente, recuerda agregar el llamado al archivo JQuery o cambiar esto por un onclick tambien funcionaria.

Si lo haces como un parametro oculto o hidden seria algo similar y en tu controller lo rescataras asi

Código PHP:
Ver original
  1. $this->getRequest()->get('codigo')

Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)