Hola, Que tal.
Desde hace ya varios días vengo investigando acerca de como implementar ajax en symfony pero no he encontrado información que me sea de mucha utilidad.
Lo que busco en especifico es actualizar una tabla después de haber dado clic a un botón, tomando como parámetro un valor seleccionado en un "combobox", actualizando obviamente solo la tabla, mas no toda la pagina.
A continuación pongo una imagen para contextualizarlos:
Como codigo tengo lo siguiente:
Una clase ProyectosType para el form
public function buildForm(FormBuilderInterface $builder,array $options)
{
$builder->add('facultad', 'entity', array(
'class' => 'SiviuqMainBundle:Facultad',
'property' => 'nombre',
))->add('buscar','submit');
}
un metodo en el controlador, donde hasta ahora solo tengo la consulta
public function actualizarProyectosAction($id)
{
$em=$this->getDoctrine()->getManager();
$query=$em->getRepository('SiviuqMainBundle:Proyectos')->createQueryBuilder('p')
->where('p.grupoInvestigacionId.programaId.facultad Id.id=:facultad')->setParameter('facultad',
$id)->orderBy('p.fechaInicio','ASC');
$entity=$query->getQuery()->getResult();
}
y en la vista lo siguiente:
{{ form_start(form,{'attr': {'id': 'form_proyectos_list'}}) }}
<div class="form_error">{{ form_errors(form) }}</div>
<div class="form_bloque">
<div class="form_error">{{ form_errors(form.facultad) }}</div>
<div class="form_label">{{ form_label(form.facultad) }}</div>
<div class="form_input">{{ form_widget(form.facultad, {'attr': {'class': 'combobox'}}) }}</div>
</div>
<div class="form_bloque">
<div class="form_label">{{ form_label(form.buscar) }}</div>
<div class="form_input">{{ form_widget(form.buscar, {'attr': {'id': 'btnBuscar'}}) }}</div>
</div>
{{ form_end(form) }}
<table id="tabla" border="1">
{% for proyecto in proyectos %}
<tr>
<th>Titulo</th>
<th>Duración(meses)</th>
<th>Grupo de investigación</th>
<th>Linea de investigación</th>
<th>Investigador principal</th>
<th>Estado del informe</th>
<th>Ver Detalles</th>
</tr>
<tr>
<td>{{ proyecto.titulo }}</td>
<td>{{ proyecto.duracion }}</td>
<td>{{ proyecto.grupoinvestigacionId.nombre }}</td>
<td>{{ proyecto.lineaInvestigacion.nombre }}</td>
<td>{{ proyecto.investigadorPrincipal.nombre }}</td>
<td>{{ proyecto.estadoInforme }}</td>
<td><img src="{{
asset('img/verDetalle.png')
}}" alt="detalle" /> </td>
</tr>
{% endfor %}
</table>
agradezco a quien pueda ayudarme a ubicar un poco, la verdad es que la curva de aprendizaje de este framework es alta.