GIF Skyrama BR 01 300x250
Página Inicial > geral > Simple AutoComplete JQuery Plugin

Simple AutoComplete JQuery Plugin

DOWNLOAD

http://blog.idealmind.com.br/exemplos/simpleautocomplete/simpleautocomplete.rar

DEMO

http://blog.idealmind.com.br/exemplos/simpleautocomplete/

ENGLISH

Simple AutoComplete JQuery Plugin screenshot

The Simple JQuery AutoComplete Plugin allows you to add autocomplete functionality easily in text fields on your site.

It also has resources to bring other data in the autocomplete list, as the id of the element, performing a callback function to store these data in other inputs.

You can also:
* Use multiple autocomplete on the same page
* Pass an extra parameter to filter the results of a sql query
* Stylize each autocomplete in different ways.

How to use it

To use the Simple AutoComplete JQuery Plugin is very easy. Just use the syntax:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="simpleautocomplete.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("#input_fied_id").simpleAutoComplete("query_processor.php");
	});
</script>

Enter the css that will be used to style the auto complete:

<link rel="stylesheet" type="text/css" href="simpleAutoComplete.css" />

And the field that will run the autocomplete:

<input type="text" id="input_fied_id" name="estado" />

Optional Features:

Callback Function

You can use a callback function that will be performed by selecting an autocomplete item, bringing extra data.

To do it, use the syntax:

<script type="text/javascript">
	$(document).ready(function(){
		$("#input_fied_id").simpleAutoComplete("query_processor.php",null,callbackfunctionName);
	});

	// And create a callbackfunction
	function callbackfunctionName( par )
	{
		$("#id_estado").val( par[0] );
	}
</script>

The variable ‘par’ is a vector with additional data brought by the query for each item (stored in an attribute of the item).

The callback is useful for you to bring other data beyond what appears in the autocomplete, as the id of an autocomplete option, or any other data (see the demo that illustrates this feature) to be returned by the file that runs the query, and store it in the input “id_estado” (you can bring as many parameters as you want, and store them in different fields).

Optional parameters

You can use the optional parameters to add more detail and customize each autocomplete.

identifier : to enable the file (eg php) that will process the query to identify which query is processed, and to identify an autocomplete on a page that has more than one autocomplete.

autoCompleteClassName : if you want to use a custom css class name (default ‘autocomplete’). This is useful to avoid conflicts, or if you want to style each autocomplete differently.

selectedClassName : has the same purpose autoCompleteClassName, but applies for the pre-selected autocomplete item, eg, on mouse over (default ‘sel’).

attrCallBack : if you want to store the parameters that will be passed to the callback function in other list attribute (default ‘rel’).

extraParamFromInput : useful if you want to pass an additional parameter to the query, in order to filter the results. This value must be one input field (this way the value can be variable).

Compatibility

Simple AutoComplete version 1.1.0 has been tested, exhibiting the same behavior in the following browsers: IE6, IE7, IE8, Safari, Chrome and Firefox.


PORTUGUÊS

Hoje eu criei um novo sistema autocomplete, para substituir o antigo que estava tento bugs no IE. Este autocomplete é um plugin JQuery, fácil de integrar e customizar.

Simple AutoComplete JQuery Plugin screenshot

O Simple AutoComplete JQuery Plugin permite que você adicione a funcionalidade de autocomplete facilmente em campos de texto do seu site.

Ele também possui recursos para trazer outros dados na lista do autocomplete, como o id do elemento, executando uma função de callback para armazenar estes dados em outros inputs.

Você ainda pode:
* utilizar vários autocompletes numa mesma página
* passar um parâmetro extra para filtrar os resultados de uma consulta sql
* estilizar cada autocomplete de maneiras diferentes.

Como usar

Para usar o Simple AutoComplete JQuery Plugin é muito fácil. Basta usar a sintaxe:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="simpleautocomplete.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("#input_fied_id").simpleAutoComplete("query_processor.php");
	});
</script>

Insira o css que será usado para estilizar o auto complete:

<link rel="stylesheet" type="text/css" href="simpleAutoComplete.css" />

E o campo que será executado o autocomplete:

<input type="text" id="input_fied_id" name="estado" />

Recursos opcionais:

Função de Callback

Você pode utilizar uma função de callback, que será executada ao selecionar um item do autocomplete, trazendo dados extras.

Para isso, utilize a sintaxe:

<script type="text/javascript">
	$(document).ready(function(){
		$("#input_fied_id").simpleAutoComplete("query_processor.php",null,callbackfunction);
	});

	// E crie a função de callback
	function callbackfunction( par )
	{
		$("#id_estado").val( par[0] );
	}
</script>

A variável ‘par’ é um vetor com dados adicionais trazidos pela consulta para cada item (armazenados em um atributo do item).

O callback é util para você trazer outros dados além do que aparecerá no autocomplete, como o id de uma opção do autocomplete, ou qualquer outro dado (veja o demo que exemplifica esta funcionalidade), que será retornado pelo arquivo que executará a consulta, e armazenar no input “id_estado” (você pode trazer quantos parâmetros quiser, e armazená-los em campos diferentes).

Parâmetros opcionais

Você pode utilizar os parâmetros opcionais para adicionar mais detalhes e personalizar cada autocomplete.

São eles:

identifier : útil para que o arquivo (php por exemplo) que processará a consulta possa identificar qual consulta será processada, e para identificar um autocomplete numa página que tenha mais de um autocomplete.

autoCompleteClassName : caso você queira utilizar um nome de classe css diferente da padrão (padrão ‘autocomplete’). Isso é útil para evitar conflitos, ou caso você queira estilizar diferentemente vários autocompletes.

selectedClassName : tem o mesmo propósito de autoCompleteClassName, porém se aplica à opção pré-selecionada dos resultados do autocomplete (padrão ‘sel’).

attrCallBack : caso você queira que os parâmetros que serão passados para a função de callback sejam armazenados em um atributo diferente do padrão, que é ‘rel’.

extraParamFromInput : útil caso você queira passar um parâmetro adicional à consulta, com o intuito de filtrar os resultados. Este valor deve estar em um campo input (desta forma o valor pode ser variável).

Compatibilidade

O Plugin simpleAutoComplete foi testado apresentando o mesmo comportamento, nos seguintes navegadores: IE6, IE7, IE8, Safari, Chrome e Firefox.

Licence

This plugin is under GNU GENERAL PUBLIC LICENSE.


Related Posts Plugin for WordPress, Blogger...

Posts Relacionados:

Deixe seu comentário

  1. GuerrieroNero
    24, março, 2010 em 06:32 | #1
    Hi,

    This plugin is perfect!!! But there is one problem: IE… it doesn’t work good with Internet Explorer…it’s a CSS problem…have u any hack for it?
    Thanks from Italy!

    • 24, março, 2010 em 12:57 | #2
      Hi GuerrieroNero!

      There’s a session that explains how to adjust it for IE (search by ‘To solve problems of positioning the autocomplete in IE6′ in this page). You can only set width and height into input text, or add a hack into CSS file.

      Best regards

  2. Paulo Cesar
    6, abril, 2010 em 16:57 | #3
    Olá, sou iniciante em programação para internet. Tentei implementar seu código, mas, não consegui fazê-lo funcionar…
    O IE8 acusa o seguinte erro: “O objeto não dá suporte para a propriedade ou método” e identifica o seguinte local: “$(‘#txtNomeAluno’).simpleAutoComplete(…”.
    Acredito ter feito exatamente como indicastes.

    Podes me in

  3. Paulo Cesar
    6, abril, 2010 em 16:59 | #4
    … Podes me indicar algo a fazer para resolver esse problema?
  4. Simone
    3, maio, 2010 em 10:40 | #5
    I solved the problem of IE without hacks. It works for me, I hope it helps.
    Now the css style works for IE6, IE8 and Firefox:

    Solution – Alter the file simpleAutoComplete.js.

    Steps:

    1 – Delete the if “if (navigator.appVersion.match(‘MSIE 6′)){ … }”.

    2 – Insert the code above after the line “autoCompleteList.insertAfter(thisElement);”:

    var position = thisElement.position();
    var height = thisElement.height();
    var width = thisElement.width();

    $(‘div.’ + classAC).css({
    ‘top’: (height+position.top+6) + ‘px’,
    ‘left’: (position.left)+’px’,
    ‘margin’: ’0px’
    });
    $(‘div.’ + classAC + ‘ ul’).css({
    ‘margin-left’: ’0px’
    });

    3 – Ready to use!

    • 3, maio, 2010 em 12:12 | #6
      Obrigado Simone!

      Eu ia tirar um fds para fazer esta atualização de forma a tornar o plugin plug and play.

      Vou fazer alguns testes e vou incluir a atualização!

      Muito obrigado!

  5. 4, maio, 2010 em 14:47 | #7
    Atualizei o plugin para a versão 1.1.0.

    Incluí as atualizações da @Simone , que torna padrão o comportamento do autocomplete no IE6, IE7, IE8, Firefox, Chrome e Safari.
    Inclui também o fechamento automático ao se clicar fora do autocomplete, e a iserção automática do atributo autocomplete=”off”, para evitar conflitos com o autocomplete do browser.

  6. jorge
    13, maio, 2010 em 11:51 | #8
    Wellingtohn, este seu modelo baixo, nao seria “field”ao inves de “fied” ?

    $(“#input_fied_id”).simpleAutoComplete(“query_processor.php”);

  7. Aingel
    19, maio, 2010 em 10:53 | #9
    Hello Guys! I like the plugin!

    However, I’m getting a problem: When I press ENTER, I am able to put the value of the selected item from the list but the submitted form returns the search criteria (I typed on the form field) but not the selected item from the list (or the value that sent to the form field).

    to be clearer:
    - I have a form named: txtSearchField
    - I typed ‘me’ and the list came up with a selection
    - I scrolled up and down using the arrow keys, the plugin worked well with the selection routine
    - Once I decided to select an item ‘Mexico’ (for example)
    - ‘Mexico’ appears on the form field: txtSearchField
    - The form submits
    - The submitted info yields txtSearchField = ‘me’ and not ‘Mexico’ as intended/expected

  8. Robson Miranda
    19, maio, 2010 em 14:31 | #10
    @jorge
    Tanto faz, esse “#input_fied_id” é só uma referencia ao plugin de qual a id do campo que ele deve processar…
    ao tipo

    no jquery ficaria assim:

    $(“#Robson”).simpleAutoComplete(“query_processor.php”);

    Entendeu??

  9. jorge
    29, maio, 2010 em 20:19 | #11
    Robson, deu tudo certo. abraço.
  10. jorge
    29, maio, 2010 em 20:25 | #12
    Robson, qual o caminho para este simpleautocomplete mostrar no autocomplete conforme o primeiro exemplo: ao digitar Rio de Janeiro mostra tambem a sigla :
    Rio de Janeiro (RJ) ??
  11. lucio
    2, junho, 2010 em 19:08 | #13
    cara usei teu script poré eu gostaria que quando ele filtrasse os dados e a pessoa andasse com as setas cima/baixo e pressionasse enter ele levasse o valor da linha onde o cursor está para om input…no teu exemplo ele faz correto, porém pra mim não funciona de geito nenhum
  12. jorge
    5, junho, 2010 em 19:34 | #14
    @Robson Miranda
    Robson, usando o JQuery, qual o caminho para que no simpleautocomplete mostrar dados adicionais como no autocomplete? pelo primeiro exemplo temos: ao digitar Rio de Janeiro mostra tambem a sigla :
    Rio de Janeiro (RJ) . temos como fazer isto pelo simpleautocomplete ?
  13. Thales
    6, junho, 2010 em 15:39 | #15
    Is it works with ASP? If yes can anyone tell me the select statement of SQL ?

    exp. Select * from dbo.customers Where Customername LIKE ?????….

  14. Raphael
    7, junho, 2010 em 08:23 | #16
    Hi!
    Primeiramente quero agradecer pelo tutorial, é mt bom.
    Bom eu queria a opção de “select_first”, eu procurei no script do plugin e não vi nenhuma referencia, queria saber se ele possibilita essa função.
  15. Thiago
    10, junho, 2010 em 00:41 | #17
    Bicho nao existe uma maneira de colocar direto um objeto json ao contratrio de uma pagina pra ajax?!?!
  16. 23, junho, 2010 em 20:56 | #19
    Excelente tutorial!!! Há muito tempo procurava um ‘suggest’ pra colocar no meu site. Parabéns!!
  17. jorge
    26, junho, 2010 em 17:49 | #20
    Wellington Ribeiro :
    somente se vc estiver trabalhando com dados fixos, e não com consulta ao banco de dados.

    Wellington, usando o JQuery, qual o caminho para que no simpleautocomplete mostre dados adicionais como no autocomplete? pelo primeiro exemplo (autocomplete),temos: ao digitar Rio de Janeiro mostra tambem a sigla :
    Rio de Janeiro (RJ) . temos como fazer isto pelo simpleautocomplete ?

  18. Junior
    2, julho, 2010 em 15:27 | #22
    Achei excelente!!! Muito leve mas estou com o mesmo problema do Lucio.
    Não consigo fazer funcionar o enter ao selecionar os dados.
    Porém, utilizando o exemplo do Wellingon, não há problemas….
    Alguém tem idéia do que possa ser?
  19. Rafael Miranda
    8, julho, 2010 em 11:45 | #23
    Estou tentando adaptar o código para funcionar com ASP, teria como ajudar? Não sei muito de php e não consegui fazer… Talvez se você colocar a forma como os dados precisam sair ser captado corretamente pelo javascript torná-lo funcional, fique fácil de adaptar o código.
    • 14, julho, 2010 em 23:45 | #24
      Olá Rafael!

      Bom, eu tive pouquíssimo tempo para desenvolver a documentação, mas assim que der, eu usarei a sua sugestão. Mas é simples: o servidor deve dar uma saída gerando uma lista em html, com os parâmetros opcionais para callback. Analisando um pouquinho mais o código php, e fazendo a analogia com o asp, você vai entender.

      Peço desculpas, mas agora estou com tempo curto (como sempre! rs), e não posso te ajudar muito…

      Abraço!

  20. Damith
    12, julho, 2010 em 05:02 | #25
    How to make this work with jQuery 1.2.6?
  21. Pedro Reis
    14, julho, 2010 em 11:57 | #27
    Muito bom mesmo! Mas tenho um problema particular. Eu tenho um formulario em que estou usando o autocomplete para buscar os registos da banco de dados. Ao submeter este formulario é criado um pdf dentro de uma iframe que está abaixo do formulario. Se eu quiser fazer novo pedido o pdf fica-me por cima do autocomplete e nao consigo ver os registos que o auto complete me sugere. Ja experiementei alterar o z-index, mas nao resolve. Tem alguma ideia?
    • 14, julho, 2010 em 23:55 | #28
      Olá Pedro!

      Bom, quando comecei a ler, a primeira coisa que me veio à cabeça foi o z-index.

      Você setou o z-index nas duas divs, a que carrega o iframe e o auto complete (.autocomplete)?

      Estou com pouco tempo agora para efetuar testes :(

      Abraço!

  22. Seq
    16, julho, 2010 em 08:14 | #29
    @Aingel

    lucio :
    cara usei teu script poré eu gostaria que quando ele filtrasse os dados e a pessoa andasse com as setas cima/baixo e pressionasse enter ele levasse o valor da linha onde o cursor está para om input…no teu exemplo ele faz correto, porém pra mim não funciona de geito nenhum

    Yep! I have this problem too. Please help somebody!

    • 17, julho, 2010 em 23:33 | #30
      Olá!

      A funcionalidade de dar enter e selecionar o item é automática, e não precisa de nenhuma configuração adicional.
      Qual o navegador que você está usando?

      Abraço!

  23. alexander
    13, agosto, 2010 em 13:29 | #31
    @Aingel
    here is my workaround for problem with submitting form when you select item from list using “enter”-key:

    1. find this string in js-code:
    thisElement.keyup(function( ev )
    and replace it with:
    thisElement.keydown(function( ev )

    2. find this code:
    if (kc == 13)
    {
    $(‘div.’ + classAC + ‘ li.’ + selClass).trigger(‘click’);
    }
    and replace it with:
    if (kc == 13)
    {
    $(‘div.’ + classAC + ‘ li.’ + selClass).trigger(‘click’);
    return false;
    }

  24. Alexandre
    18, agosto, 2010 em 16:11 | #32
    Olá Wellington,

    o plugin tá funcionando certinho só tem um probleminha, acredito que seja no css. No ie (pra variar) e no natscape, a div de pesquisa fica atrás dos textos e do form. Já usei o z-index bem estourado para essa div (10000000000) e negativo para os campos de input e ainda assim dá esse erro.

    Mexi no script js para ajustar a div para um z-index alto mais não funciona. Vc pode me dar uma dica de como eu resolvo isso?

  25. Gilberto
    19, agosto, 2010 em 23:50 | #34
    Olá estou precisando clonar o autocomplete, alguma sugestãod e como poderia fazer?
  26. Denis Veneno
    20, agosto, 2010 em 17:06 | #36
    Caro Wellington,
    Primeiro quero agradecer-lhe pela contribuição.

    Estou tentado utilizar sua ferramenta no localhost (utilizando o easyphp) porém não estou conseguindo êxito, já fiz alguns testes fazendo a conexão e busca dos dados pelo index.php, e a query retornou os resultados, então, presumisse que a consulta está sendo efetuada perfeitamente.
    Já testei, pela exibição do código-fonte do mozilla, a existência dos arquivos: jquery.js, simpleAutoComplete e simpleAutoComplete.css, e todos eles estão sendo carregados.

    Você teria alguma ideia do que está causando este probleminha?? ainda não testei direto no meu servidor de hospedagem, porém gostaria de utiliza-lo no localhost para implementar melhor.

    Atenciosamente

    • 21, agosto, 2010 em 03:33 | #37
      Oi Denis!
      verifique se o código php está seguindo o padrão da documentação, de forma a gerar os dados corretos para a leitura do js.

      Me passe o código que você está utilizando para eu ver o que você está tentando fazer.

  27. Weza
    1, outubro, 2010 em 08:51 | #38
    @Wellington Ribeiro
    Wellington, aposto que eles estavam a usar Mozilla Firefox ou Google Chrome como eu. A funcionalidade do Enter só funciona com o IE pelo menos na versão 8, na versão 9(beta) tb n funciona e a caixa de sugestão texto fica em baixo.
  28. Max
    4, outubro, 2010 em 21:07 | #39
    legal cara até dava para fazer uma doção porem com essa licen nem louco, mude para bsd ou lgpl e recebera muitas mais doações
  29. Alexandre
    5, outubro, 2010 em 15:28 | #40
    @Wellington Ribeiro
    Olá Wellington.

    É um aplicativo que estou montando para uma empresa. Se vc me passar algum email para que eu poss te mandar o link para vc visualizar o que ocorre fica mais fácil.

    Já tentei várias formas de acerto e nada. Não consigo entender o porquê que isso ocorre uma vez que mexi no z-index (css e js) e nada. A coisa tá feia de arrumar.

    Se vc puder me ajudar eu agradeço.

    PS. Os campos de input e os textos são gerados dinamicamente (objetos). Não sei se isso tem um pouco de interferência. Mais no ie (pra variar…) e no netscape a coisa num rola.

  30. adriano dos Santos
    8, outubro, 2010 em 12:33 | #41
    OI Wellington.
    Estou com o mesmo problema do Alexandre.
    Quando gero campos input por php(dentro de um laço), os auto-completes funcionam, mas quando gero os input dinamicamente( por javascript), os autos-completes não funcionam.
    Se puder me ajudar.
  31. Christian
    13, outubro, 2010 em 12:46 | #42
    Oi, tem um bug que aparece no IE8 aprox na linha 144. Aqui está a correçao:

    if(content != null) { // fix para erro no IE8 quando vc pressiona up-down varias vezes
    content = content.replace(//i,”"); // iE8 busca case-sensitive, aqui uso regex case-insensitive
    content = content.replace(//i,”"); // idem
    content = content.replace(“&”,”&”);
    jQuery(‘#textoBusqueda_autocomplete’).val(content);
    }

    []s

  32. Julio
    21, outubro, 2010 em 09:31 | #43
    Olá Wellington,

    Em primeiro lugar, meus parabéns pelo ótimo trabalho que fizestes. Eu estou com um problema na utilização do autocomplete, pois quando me vem a lista de sugestões e teclo enter o formulário é submetido. Mas isso só acontece quando programa a função de callback para setar o valor de um campo hidden. Quando o callback seta campos text não acontece o problema.

    Abraço,
    Julio

  33. 22, outubro, 2010 em 14:05 | #44
    Olá, como faço pra limitar, tipo a pessoa digita, 3 letras dai começa aparecer os resultados…
    não apartir de 1… porque minha consulta aqui é muito grande e aparece muita coisa.. digitando apenas a letra ‘a’
  34. Mic
    28, outubro, 2010 em 10:56 | #45
    Hi,

    Thank’s for your script. It works fine except with keypad 0. If i enter, for example, 100 on main keyboard it works well an fores as soon as I enter a 0. But on the keypad, I need to press space in order to fire the result. Any idea how to correct this?

    Thank’s,
    Mic

  35. 28, outubro, 2010 em 12:25 | #46
    Olá, fiz algumas alterações no plugin, adicionei uma propriedade para filtrar somente quando a 3° letra for digitada, porque filtrar desde a primeira letra, nao me servia;.

    no php, coloque um

  36. 28, outubro, 2010 em 12:25 | #47
    if (is_string($_REQUEST['query']) && strlen($_REQUEST['query']) > 2 && strlen($_REQUEST['query']) < 64)
    {
  37. 3, novembro, 2010 em 09:21 | #48
    olá, estou com um problema, quando usei o

    ele da pau, no enter!!

    tipow ele digita, dai aperta a flecha para baixo, dai quando da enter ele nao envia no form o valor! sabe como posso arumar isso ?

  38. Jefferson
    8, dezembro, 2010 em 00:06 | #49
    Olá, gostaria de saber se é possível chamar o simpleautocomplete a partir de uma classe css? Por exemplo: $(‘.classe_css’).simpleAutoComplete()… Tentei de várias formas aqui. Alguém pode me dar um help? obrigado
    • 8, dezembro, 2010 em 23:02 | #50
      Sim, desde que a classe aplique a um e somente um input. Mas não recomendo o uso de classes, pois estas podem se aplicar a mais de uma elemento e causar conflito no autocomplete.

      O ideal é utilizar um id, pois segue os padrões w3c.

      Abraço!

  39. joao
    7, janeiro, 2011 em 12:29 | #51
    Olá, tenho uma página com um número dinâmico de textfields que exigem autocomplete, dependendo da base de dados. É possível tornar os parâmetros de javascript dinâmicos para poderem ler qualquer textfield? Ou para cada textfield com autocomplete tenho de criar uma função de callback? obrigado, abraço
  40. Denis Veneno
    19, janeiro, 2011 em 13:19 | #52
    Wellington,
    Não te respondi antes pois viajei e dei uma pausa no sistema que estava implementando.
    Testei novamente, porém, diretamente no servidor (em vez de testar no localhost daqui da empresa) onde o sistema está alocado e o plugin está funcionando perfeitamente.

    Novamente volto a agradece-lo, imensamente, pela contribuição para a comunidade.

    Um abração!

  41. 14, fevereiro, 2011 em 22:34 | #53
    Olá,

    Como retiro o parametro query? Utilizo codeigniter e não aceita parametro por url, então quero passar apenas a url direto para url sem a ?query=$var , é possível com seu plugin?

    Algo do tipo: paraname:false?

  42. CACA-COBRA
    21, fevereiro, 2011 em 09:30 | #54
    Existe alguma forma de por um “preloader” neste plugin?
  43. 8, março, 2011 em 18:42 | #55
    Olá..
    Espetacular seu script, custei muito a encontrar algo de facil implementação e suprisse minha necessidade principal, o preenchimento de um campo hidden com o ID.
    Mas estou escrevendo pra tirar uma duvida, a respeito do uso das setas para navegar na lista e em seguida o uso da tecka Enter para selecionar o registro e preencher o campo.
    No meu caso só funciona com o clique do mouse, ou seja, tem que clicar no nme do estado, ou os campos extras nao sao preenchidos. Obs.: Editei o script pra limitar somente a ID e NOME.
    Agradeço a ajuda desde já,

    Boa noite.

    Sandro.

  44. Raphael Santos
    15, março, 2011 em 03:39 | #56
    Sandro MF :
    Olá..
    Espetacular seu script, custei muito a encontrar algo de facil implementação e suprisse minha necessidade principal, o preenchimento de um campo hidden com o ID.
    Mas estou escrevendo pra tirar uma duvida, a respeito do uso das setas para navegar na lista e em seguida o uso da tecka Enter para selecionar o registro e preencher o campo.
    No meu caso só funciona com o clique do mouse, ou seja, tem que clicar no nme do estado, ou os campos extras nao sao preenchidos. Obs.: Editei o script pra limitar somente a ID e NOME.
    Agradeço a ajuda desde já,
    Boa noite.
    Sandro.

    Estou com o mesmo problema pois como o meu botão (input) é do tipo submit, quando aperta o enter envia o formulário sem selecionar o estado corretamente .. o ideal era q não submetesse o form no enter se o usuário tiver selecionando o item na lista. Só submeter quando o item já tiver selecionado.

  45. Emilio
    21, março, 2011 em 12:38 | #57
    amazing script, congrats

    thanks from Palermo(IT)

  46. Camillo Targas
    4, abril, 2011 em 16:07 | #58
    1-Qual é o formato que tem que ter a saida do arquivo de busca? Estou tentando fazer com jsp e não consigo entender o que foi feito no php. Poderia ate disponibilizar um exemplo de query_processor..jsp

    2-O meu também não funciona o enter, so clicando, algué conseguiu resolver isso?

    Parabéns pelo trabalho e desde já agradeço a toda ajuda!

  47. 5, abril, 2011 em 15:38 | #59
    Primeiramente, parabenizo o Wellington pelo script, ficou show de bola aqui no sistema.

    Bom, estou com o mesmo problema do Lucio e de outros 2 colegas aqui. Quando começo a digitar a palavra no campo, aparece o resultado no autocomplete certinho; porém ao selecioná-lo com as setas do teclado e pressionar “enter”, não carrega para o “input”.

    Pelo que percebi, acontece quando colocamos a busca (input) dentro de um formulário ” “. Ao tirar o formulário funciona normalmente, mas não serve, pois não é possível submeter (cadastrar).

    Se o mestre aí conseguir resolver essa, ou nos orientar, ficarei mais grato ainda.

  48. 14, abril, 2011 em 12:17 | #60
    Caro Wellington,

    Baixei os arquivos e rodou perfeitamente. Parabéns!

    Adaptei para o meu site e agora preciso fazer uma busca num único campo fazendo o ajax ler de 3 campos sql diferentes.

    Por exemplo quando começar a digitar num campo só, ele faça a busca em 3 campos de sql.

    Segue exemplo que deu certo, mostra tudo correto porém ele “come” cada letra digitada nas buscas da listagem abaixo que são os outros 2 campos sql:

    ———————————-
    $sql = “SELECT DISTINCT psoldagem1, psoldagem2, psoldagem3 FROM qualificacoes WHERE locate(‘$q1′,psoldagem1) > 0 OR locate(‘$q2′,psoldagem2) > 0 OR locate(‘$q3′,psoldagem3) > 0 ORDER BY locate(‘$q1′,psoldagem1), locate(‘$q2′,psoldagem2), locate(‘$q3′,psoldagem3) LIMIT 10″;
    $r = mysql_query( $sql );
    if ( $r )
    {
    echo ”.”\n”;
    while( $l = mysql_fetch_array( $r ) )
    {
    $p1 = $l['psoldagem1'];
    $p2 = $l['psoldagem2'];
    $p3 = $l['psoldagem3'];
    @$p1 = preg_replace(‘/(‘ . $q1 . ‘)/i’, ‘$1′, $p1);
    @$p2 = preg_replace(‘/(‘ . $q2 . ‘)/i’, ‘$2′, $p2);
    @$p3 = preg_replace(‘/(‘ . $q3 . ‘)/i’, ‘$3′, $p3);
    echo “\t”.”. $p1 .”.”\n”;
    echo “\t”.”. $p2 .”.”\n”;
    echo “\t”.”. $p3 .”.”\n”;
    }
    echo ”;
    }
    ———————————-

    Então, a minha dúvida é como fazer essa busca em 3 campos sql diferentes sem que ele suma com as letras digitadas.

    Aguardo retorno, pode ser por email mesmo.

    Abraço.

  49. rodrigo
    15, abril, 2011 em 13:48 | #61
    Boa tarde Wellington,

    Primeiramente parabens pelo tópico e por outras soluções maneiras, como essa.

    Apliquei ela em meu sistema, mas estou com alguns probleminhas…a variavel q do arquivo php esta sempre indo nula…
    Já viu isso acontecer? Desculpa o incomodo.
    Abs

  50. Fábio
    19, abril, 2011 em 14:55 | #62
    Muito bom seu script, poré tenho um probleminha, quando digito algumas letras e seleciono com as setas do teclado uma opçãoe dou enter o formulario é submetido sendo que não é isso que eu quero, queria apenas q o campo fosse preenchido.

    Qual seria a solucao para isso.

    abraço,

Página de comentários
1 2 272
  1. 21, março, 2010 em 15:39 | #1

SEO Powered by Platinum SEO from Techblissonline