我想为每列创建一个包含搜索字段的表。我用ajax将搜索值发送给控制器。
我的问题是我不知道必须返回控制器(HTML或Json)的结果类型以及如何在我的树枝表上显示结果
我的JS功能:
.col-md-2
我在twig文件中的表:
$.ajax({
url: "{{ path('demande_search') }}",
type: "GET",
data: 'filter='+$("#f").val(),
success: function(data){
$("#table_id").html(data);
}
});
我的控制器返回搜索结果
<table id="table_id">
<tbody>
{% for demande in demandes %}
<tr>
<td>{{ demande.did }}</td>
</tr>
{% endfor %}
</tbody>
</table>
提前谢谢
答案 0 :(得分:2)
您的控制器应输出现成的渲染表。仅将表移动或复制到新的twig文件中。让Controller创建表并将其返回给jQuery:
/**
* Lists searched entities.
*
* @Route("/search", name="test_search")
* @Method("GET")
*/
public function searchAction(Request $request)
{
$query = $em->createQuery(
'SELECT t
FROM AppBundle:Test t'
);
$categorias = $query->getArrayResult();
return $this->render('AppBundle:table.html.twig', ['categorias' => $categorias]);
}
然后在您的AJAX请求中,您可以使用控制器中的新表替换该表:
$.ajax({
url: "{{ path('demande_search') }}",
type: "GET",
data: 'filter='+$("#f").val(),
success: function(data){
$("#table_id").replaceWith(data);
}
});