symfony中的自动完成jquery 3.3.6

时间:2018-03-30 23:52:47

标签: jquery symfony

正如标题所说,我想做2个搜索栏: 1 - 找工作 2 - 要搜索城市,如果用户正在寻找所选城市的工匠,我将展示他所要求的城市工匠。网站风格:https://www.pagesjaunes.fr/

但我不知道如何到达那里。

谢谢。

1 个答案:

答案 0 :(得分:0)

我的控制器:

class LayoutController extends Controller
{
/**
 * @Route("/", name="home")
 */
public function indexAction(Request $request)
{
    // On crée l'objet ville
    $ville = new Villes();

    // On récupère le formulaire
    $form = $this->createForm(VillesType::class, $ville);

    $form->handleRequest($request);

    // On génère l'HTML du formulaire
    $formView = $form->createView();


    return $this->render('layout/layout.html.twig', ['form' => $formView]);
}

/**
 * @Route("/ville/{cp}", name="ville")
 */
public function villesAction($cp)
{
    $em = $this->getDoctrine()->getManager();
    $cp = $em->getRepository('AppBundle:Villes')->findOneBy(['cp' => $cp]);

    if ($cp)
    {
        $ville = $cp->getVille();
    }else{
        $ville = null;
    }
    $response = new JsonResponse();
    return $response->setData(['ville' => $ville]);
  } 
 }

我的JS:

$(document).ready(function () {
$('.ville').keyup(function () {
    if ($(this).val().length === 3){
        $.ajax({
            type: 'get',
            url: 'http://127.0.0.1:8000/ville/75001' + $(this).val(),
            beforeSend: function(){
                console.log('pas mal !!!')
            },
            success: function (data) {
                $('.ville').val(data.ville)
                    console.log('ville okkk')
            }
        })
    }
})

});