Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

jQuery Autocompletar MySQL PHP


Dê uma olhada na documentação de preenchimento automático da interface do usuário do jquery . O JSON que você está retornando não corresponde ao que o preenchimento automático está procurando. O objeto que você retorna deve ter propriedades denominadas label ou value (ou ambos).

Você pode tentar as seguintes opções:

Opção 1:alterar JSON retornado


Altere o JSON retornado para incluir as propriedades de rótulo/valor, como:
[{"label":"Sin City"}]

A partir dos exemplos, também parece usar a propriedade id. Acredito que o acima é o requisito mínimo para o preenchimento automático exibir uma lista de valores. Eu acho que você também pode retornar um array de strings e ele irá renderizá-lo exatamente da mesma maneira que o acima.
[ "Sin City", "Etc" ]
    

Opção 2:alterar a função _render privada


Altere a função _renderItem privada do preenchimento automático para usar suas propriedades personalizadas, conforme mostrado neste exemplo de preenchimento automático (não testado):
$( "#project" ).autocomplete({
    source: "./search.php",
    minLength: 3    
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
    return $( "<li></li>" )
   .data( "item.autocomplete", item )
   .append( item.Title )
   .appendTo( ul );
};

Isso é um pouco mais flexível, mas muito mais feio.