Typeahead - JS e PHP

26/07/2017

0

Estou com problemas para incluir no meu site um processo de auto sugestão, por mais que as partes pareçam estar funcionando , o todo não responde como desejado.
<script type="text/javascript">
        $(document).ready(function(){
            var cities = [<?php foreach ($result as $item) { echo json_encode($item['name'] ) . ","; }?> ]

            var cities = new Bloodhound({
                datumTokenizer: Bloodhound.tokenizers.whitespace,
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                local: cities
            });

            $('.typeahead').typeahead({
                    hint: true,
                    highlight: true, 
                    minLength: 2 
                },
                {
                    name: 'cities',
                    source: cities
                });
        });
    </script>


Das várias tentativas que fiz, a que apresentei acima foi a melhor, mas estou com problemas para implementar o ID da lista, vejam que só coloquei o nome do produto, como faço para implementar uma lista que tenha o ID ?

Ainda poderia compartilhar um exemplo de sugestão (auto complete) que armazene de alguma forma o ID do item escolhido baseado no texto digitado por favor;
Mauricio Cunha

Mauricio Cunha

Responder

Post mais votado

07/08/2017

Mauricio,

Cara você poderia em vez de imprimir um JSON com o PHP efetuar uma chamada em um arquivo para lhe responder isso, mas caso seu contexto não consiga vamos la.

Em vez disso:
 var cities = [<?php foreach ($result as $item) { echo json_encode($item['name'] ) . ","; }?> ]


Tente isso:
 var cities = [<?php  echo json_encode($result ); ?> ]


Pois ali neste array do $result vai conter toda a sua estrutura e você utiliza o each do jQuery para navegar no array JSON que vai ser criado.

Abraços.

Fabio Rocha

Fabio Rocha
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar