Oferta Nacional - 234x60
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. 25, abril, 2011 em 04:19 | #1
    Mesmo problema do enter, poxa só faltou isso pra ficar perfeito. O outro autocomplete é muito lento para retornar os dados.

    alguem ai conseguiu resolver ou encontrou um script sem esse problema e que retorne os dados do banco com rapidez? se sim, por favor podem me informar.

    vanderson_ruiz@hotmail.com

  2. Marcus Perrout
    13, maio, 2011 em 16:48 | #2
    cara.. ja fiz de tudo pra tentar colocar para reconhecer palavras com acento na busca.. e nao vai.. sabe o pq? desde ja agradeco.. o script eh mt bom!
  3. 2, junho, 2011 em 23:49 | #3
    Gente, me desculpe pela demora em responder, mas estou muito sem tempo.

    Prometo que em breve pegarei todas as sugestões e dúvidas para aprimorar o plugin.

    Agradeço a todos pelos comentários.

  4. João Luis
    11, junho, 2011 em 12:09 | #4
    Parabéns pela solução que vc deu a neste script. Muito enxuta e bem estruturada.

    Não é só técnica, tem que ter criatividade!

    Valeu,

    Jõao.

  5. Rodrigo Poli
    14, junho, 2011 em 10:45 | #5
    Wellingtor otimo plugin que você desenvolveu. Eu to com um problema na versão 1.6 do JQuery que ao dar o enter ele não carrega o valor selecionado para o imput somente o input de callback. Tem alguma solução para isso?
  6. Rodrigo Poli
    14, junho, 2011 em 11:00 | #6
    @Rodrigo Poli
    Para funcionar dentro do JQuery 1.6.1 eu alterei a linha thisElement.attr(‘value’, el.text()); por
    thisElement.val(el.text());
  7. 15, junho, 2011 em 02:41 | #7
    Wellington, baixei seu script, bem legal mas só funciona em Localhost. No servidor aparece o seguinte Erro:

    $(“#pesquisa_autocomplete”).simpleAutoComplete is not a function
    Arquivo-fonte: http://www.portogente.com.br/portopedia2/
    Linha: 52

    ja verifiquei se importei mais de 1x se da incompatibilidade ou nao, ja criei variavel pra colocar no lugar do ‘$’ e ja conferi se os arquivos estao no lugar certo, está tudo certo esses itens, fiquei um tempão no google e nada.. pq esse erro acontece? Obrigado desde ja

  8. Yoong
    17, junho, 2011 em 09:30 | #8
    Hi man,
    Thank you for your plugin, very useful.
    How can I modify your code to add another parameter: a delay (in seconds).
    Indeed, with your plugin, when the user input one caracter, the plugin makes the ajax call.
    Sometimes, it’s better to wait 1 or 2 seconds: then the plugin will make the ajax call with a word, not a letter. Do you understand my question?
    So, maybe I need to rewrite your code and replace keyup?
  9. Carlos Ernica
    9, julho, 2011 em 14:06 | #9
    @Fábio
    Olá Fábio, vc conseguiu resolver o problema? também estou com o mesmo caso.

    abraço

  10. 18, julho, 2011 em 23:40 | #10
    Begun, the great internet eudatcion has.
  11. 19, julho, 2011 em 14:22 | #11
    This makes everything so cmoepltely painless.
  12. Pedro
    2, agosto, 2011 em 09:44 | #12
    Prezado Wellington,

    Eu fiz tudo conforme você falou. A conexão com o banco está correta, pois quando eu entro na página ajax.php ele exibe 10 estados. Problema é quando eu abro a index.html, a página fica em branco. Nada acontece. localhost/ajax/index.html e nada. Eu tenho o wamp instalado aqui. Existe algum parâmetro que deve ser habilitado no wamp relacionado ao PHP? Alguma função? Fico no aguardo. Obrigado. Pedro

  13. 4, agosto, 2011 em 18:35 | #13
    Cara, o seu plugin é show de bola! Utilizei ele fazendo algumas adaptações para as inúmeras necessidades minha e funcionou como uma luva! Parabéns por compartilhar seus conhecimentos com a galera!
  14. Juninho Boni
    19, setembro, 2011 em 09:29 | #14
    @Marcus Perrout
    Caro Marcus, dá uma olhada:

    pra html:

    pro php:

  15. 26, setembro, 2011 em 12:40 | #15
    Qual seu problema com o Enter? Aqui coloquei um return false e ao usar o Enter para selecionar um registro na lista o campo é preenchido normal. Só tem que depois clicar no Submit.
  16. 5, outubro, 2011 em 09:57 | #16
    Wellington,
    muito bom seu auto complete, porém gostaria de saber se tem como colocar um scroll vertical.
    Já tentei de tudo e nao consigo achar nada a respeito.
    Parabéns e obrigado.

    Se mais alguem puder ajudar, desde agradeço.

  17. roberto
    11, outubro, 2011 em 05:12 | #17
    Funciona bem em um servidor windows apache mysql, mas nao funcionou em um servidor linux, algum segredo para fazer funcionar?
  18. mauricio
    14, outubro, 2011 em 14:22 | #18
    Olá, primeiro quero agradecer esse script. muito útil e prático
    segundo tenho uma dúvida.. se existe algum tipo de limite para o retorno? só to conseguindo retornar em 3 inputs, mesmo vendo com firebug que a li tem todos os valores que eu quero.
    Obrigado
  19. mauricio
    14, outubro, 2011 em 14:33 | #19
    @mauricio
    consegui hehe
  20. Raphael
    26, outubro, 2011 em 19:54 | #20
    Sandro valeu a sua dica, fica aqui como resolvi o Enter:

    Dentro do input de busca coloque: onKeyDown=”javascript:if(event.keyCode == 13){ return false; }”

    Testei dentro de um <form e o resultado que obtive foi:
    Você digita a busca, aparece os itens, ai você seleciona com o teclado e preciona enter e pimba!!!! Testei no Firefox e no Chrome e deu certo…

    O único problema (não sei se é um) é que se você digitar na busca um nome e não selecionar nada na lista e precionar enter ele não vai fazer nada…

    Espero ter ajudado alguém!

  21. 1, novembro, 2011 em 08:52 | #21
    Salve turma! Bom dia a todos…
    Estou aqui denovo, mas agora com uma duvida: saber se alguem já tentou usar este script no navegador do Android 2.1. Bem tentei e nao funciona, porem nos sistemas operacionais mais comuns vai tranquilo… Se alguem tiver uma ideia do que deve ser isto? Seja uma limitação do Android ou não, favor informar aqui.. Um abraço a todos!
  22. Roseval Mello
    14, novembro, 2011 em 10:35 | #22
    Wellington,

    Não teria como você colocar as imagens igual ao primeiro exemplo que não está funcionando do Chrome?
    A lupa, o loading e a imagem de excluir ajudam a interatividade do sistema, assim como as ações que elas proporcionam.
    Se puder fazer isso neste segundo exemplo ia ser muito show.

  23. Romulo
    1, dezembro, 2011 em 15:01 | #23
    Olá. Muito bom o plugin ainda mais pela parte do extraParam e o callback. Mas eu gostaria de personalizar a lista. Quando a lista é montada no LI eu coloquei uns e uns spans formatados para poder montar uma lista bem completa. Fica legal a exibição porém ao clicar ele coloca todo o conteúdo no input text. Seria bom informar qual o campo que será exibido quando for selecionado pois daí eu não estou podendo montar listas compostas, só simples.

    Mas independente disso está funcionando muitíssimo bem. Obrigado e parabéns.

  24. Romulo
    1, dezembro, 2011 em 15:02 | #24
    @xcontrol

    Coloque um DIV e um css bobo vc consegue.

  25. 27, dezembro, 2011 em 20:43 | #25
    Estou usando o autocomplete funciona blz….mas quando eu carrego a página dentro de uma DIV ele perde a funcionalidade…alguém sabe como posso resolver.

    Grato pela atenção!!!

  26. Fábio Sigueru
    20, agosto, 2012 em 16:47 | #26
    Teria como informar qual foi a solução referente a má funcionalidade no Chrome?
    Fico no aguardo.
  27. Gilberto Machado
    21, agosto, 2012 em 02:46 | #27
    Amigo Wellington…

    Eu estou utilizando o seu autocomplete que por sinal é muito bom, eu só tenho uma dúvida…
    Eu estou usando para buscar pessoas em um banco de dados, e no caso quando digito por exemplo “gilberto” se eu não utilizar o autocomplete, ou seja, uma das opções que ele oferece, a busca não retorna todos os “gilbertos” do banco de dados…

    Você poderia me ajudar?

    Desde já, muito obrigado e parabéns.

  28. Gilberto Machado
    21, agosto, 2012 em 03:04 | #28
    @Gilberto Machado
    cara, ignorância minha… resolvido.. obrigado
  29. 23, agosto, 2012 em 13:09 | #29
    U are bad. I simply love u
  30. 20, setembro, 2012 em 22:42 | #30
    Parabéns pelo seu plugin, obrigado por compartilhar!
  31. Luiz Rio Branco
    24, setembro, 2012 em 14:46 | #31
    Boa tarde galera,
    eu estou tentando usar este script, o unico problema que estou tendo ate o momento é:
    ele me retorna os dados mas nao consigo clicar para selecionar e nem consigo usar as setas do teclado para selecionar a informacao que eu quero.
    Desde ja agradeco a ajuda.
  32. Vitor
    19, outubro, 2012 em 00:44 | #32
    Boa noite, é só colocar utf8_encode dentro do ajax aonde busca os dados
  33. Jefferson Deroza
    29, novembro, 2012 em 10:35 | #33
    Em primeiro lugar, parabéns pelo plugin, é excelente.
    Uma dúvida, vc teria algum exemplo de uso com banco de dados e Asp Net?
    Preciso finalizar uma aplicação urgente utilizando esse recurso.
    Obrigado e até mais.
  34. 27, dezembro, 2012 em 18:06 | #34
    @Marcus Perrout
    Faz um tempão que postou sua pergunta, quase dois anos, sobre a questão dos acentos. Não sei se conseguiu ou desistiu. E talvez outras pessoas também tenham o problema. Está no tipo de codificação da página, configurado para UTF-8, o que faz com que os caracteres acentuados não sejam reconhecidos como tal, e sim como um conjunto ASCII diferente do armazenado no Banco de Dados. Para solucionar, na linha onde se recebe os dados via REQUEST, adicionei um comando utf8-decode, e funcionou perfeitamente.
    O que era: $q = mysql_real_escape_string($_REQUEST['query']);
    Ficou: $q = utf8_decode(mysql_real_escape_string($_REQUEST['query']));
    Só para caso mais alguém tenha o mesmo problema.
    E o script ficou especial. Valeu muito ao autor!
  35. Nicolas
    28, dezembro, 2012 em 07:43 | #35
    Great Autocomplet that works properly in most cases… ut I’m experiencing an issue with Chrome on tactile screen : I just get no answer from the request ! Has someone experienced the same issue ?
    Thank you for helping…
  36. 10, fevereiro, 2013 em 19:00 | #36
    how can we request 2 parameters.

    ..
    ..
    ..
    identifier: ‘estado’,'var2′,

    like this?

  37. 7, maio, 2013 em 15:43 | #37
    @André G. Silveira
    Vlw André, isso funciona mesmo, uso um sistema todo em ansi, e ao enviar os dados pelo autocomplete o jquery usa um termo padrão “term” para pegar o valor passado, pequei a variavel passando pelo utf8_decode de pronto. A string do sql pode ser feita normalmente passando no LIKE a variavel decodificada. Para simplificar, basta pegar o valor passado pelo autocomplete com utf8_decode.
Página de comentários
1 2 272
  1. 21, março, 2010 em 15:39 | #1
  2. 21, maio, 2012 em 17:25 | #2

SEO Powered by Platinum SEO from Techblissonline