Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation method response autocomplete ui

    3 juillet 2020 à 21:12:08

    Bonjour,

    J'utilise l'autocomplétion de Jquery UI pour récupérer les villes dans ma base de données,

    Je récupère exactement le code postal, le nom de la ville et le code commune,

    Mais dans mes résultats de recherche je ne voudrais afficher que le code postal et le nom de la ville (le code commune me servira autrement).

    J'ai cru comprendre qu'il fallait utiliser la méthode response pour cela.

    Voici mon code :

    jQuery :

    $( "#search_city" ).autocomplete({
        source : "{{ path('city_search') }}",
        select : function(event, ui){
            var valueSplit = ui.item.value.split(/ +/);
            $('#zipCodeInput').val(valueSplit[0]);
            $('#cityInput').val(valueSplit[1]);
        },
        response: function( event, ui ) {
            $.each(ui.content, function( key, value ) {
                var labelSplit = value.label.split(/ +/);
                var valueSplit = value.value.split(/ +/);
                return {
                    'label': labelSplit[0] + ' ' + labelSplit[1],
                    'value': valueSplit[0] + ' ' + valueSplit[1]
                }
            });
        }
    });

    CityController.php :

    /**
    * @Route("/city-search", name="city_search")
    */
    public function index(Request $request, CityRepository $cityRepository)
    {
        $term = $request->get('term');
    
        $cities = $cityRepository->findByHint($term);
    
        $arrayJSON = [];
        foreach ($cities as $city) {
            $arrayJSON[] = $city->getPostCodes()[0]->getPostcode() . ' ' . $city->getRealName() . ' ' . $city->getCode();
        }
    
        $response = new Response(json_encode($arrayJSON));
        $response->headers->set('Content-Type', 'application/json');
        return $response;
    }

    Je n'ai pas de résultats qui s'affichent en utilisant la méthode response... Sinon quand je l'enlève tout est ok mais du coup j'ai les trois données d'afficher (code postal, nom de la ville, code commune).

    Si quelqu'un peut m'éclairer, merci.


    • Partager sur Facebook
    • Partager sur Twitter

    Utilisation method response autocomplete ui

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown