Php 在symfony中调用Ajax以筛选表
我是新来的 我有两个实体的职位和候选人的关系,在一个职位,我们可以有多个候选人 现在我有一个按职位填充的下拉列表,下面是一个候选人列表 当我使用下拉列表选择一个职位时,我想要筛选候选名单 以下代码: 控制器 细枝:Php 在symfony中调用Ajax以筛选表,php,mysql,ajax,symfony,doctrine,Php,Mysql,Ajax,Symfony,Doctrine,我是新来的 我有两个实体的职位和候选人的关系,在一个职位,我们可以有多个候选人 现在我有一个按职位填充的下拉列表,下面是一个候选人列表 当我使用下拉列表选择一个职位时,我想要筛选候选名单 以下代码: 控制器 细枝: {位置%中的位置为%s} {{position.titre}} {%endfor%} 结果: {%如果定义了候选对象%} {候选资格中的候选资格百分比为%} {{candidate.id} {{candidate.nom}} {%endfor%} {%endif%} JS: $
{位置%中的位置为%s}
{{position.titre}}
{%endfor%}
结果:
{%如果定义了候选对象%}
{候选资格中的候选资格百分比为%}
{{candidate.id}
{{candidate.nom}}
{%endfor%}
{%endif%}
JS:
$(文档).ready(函数(){
log(“jQuery已准备就绪”);
$(“#selectpos”).change(函数(){
var值=$(“#selectpos选项:选中”).val();
$.ajax({
url:“{(路径('filter'))}}”,
类型:“POST”,
数据类型:“json”,
数据:{
“我的选择”:价值观
},
async:true,
成功:功能(数据)
{
console.log(数据)
$('#ajax results').html(data.output);
},
错误:函数(err)
{
console.log(err.statusText);
}
});
返回false;
})
});
您需要将过滤器参数传递给您的操作:
/**
* @Route(name="filter",path="/filter/{positionId}")
* @param Request $request
*/
或者通过get:
$request->get('positionId')
然后将其用作存储库中的标准:
$positions = $em->getRepository('AppBundle:Position')->findBy([
'positionId' => $positionId
]);
Ajax请求:
$.ajax({
url:'path_to_your_controller',
data: {
"myselect": value
})
; 请缩进代码以使其可读。
$request->get('positionId')
$positions = $em->getRepository('AppBundle:Position')->findBy([
'positionId' => $positionId
]);
$.ajax({
url:'path_to_your_controller',
data: {
"myselect": value
})