De combobox ajax para <input type="text" >?

9 respostas
juniorsatanas

Pessoal eu fiz um combo box que chama outros carregando via ajax, está funcionando perfeito !


https://lh5.googleusercontent.com/_nTzBoYSeT2I/TVVKLU_OHqI/AAAAAAAAEUE/H7kJcL4l4RY/s1024/Captura_de_tela.png

Gostaria de fazer de outra maneira mas não estou conseguindo :

Gostaria que o usuário digita-se em um campo de TEXTO e no Combo Box foce carregado os dados :

https://lh5.googleusercontent.com/_nTzBoYSeT2I/TVU4t0RE3yI/AAAAAAAAETw/lMSc6VtYRiY/s1024/buscar.png

Alguém fez isso ?

9 Respostas

robertol

tenta usar os métodos onmouse* para fazer isto!

Lucas_Cavalcanti

jquery autocomplete

juniorsatanas

Lucas bom dia !

Quando eu digitar algum valor no campo de texto ele preenche o combo, essa é a ideia…

Vou tentar aqui…

Valeu.

robertol

Usa ajax com jQuery. É mais simples e resolverá seu problema. O que vc precisa é como se fosse o autocompletar só que aplicado a outro campo. Ou seja, ao digitar na busca, filtrar os resultados no combobox.

Dê uma olhada em: http://jquery.com/

juniorsatanas

tu ja fez isso amigão ?

robertol

FIz isto com tabelas! Mas a lógica é a mesma!

juniorsatanas

kkkkkkkkkkkk ta certo valeu…

abraço.

jr

robertol

Você sabe usar AJAX?

A solução que usamos aqui usa a seguinte estratégia:

1 - Criar um jsp para retorno do ajax com o seguinte conteúdo:

&lt;c:forEach items="${entities}" var="entity"&gt;
	&lt;option value="${entity.id}" &gt;
		${entity.nomeCompleto}
	&lt;/option&gt;
&lt;/c:forEach&gt;

2 - Fazer função genérica para requisição ajax:

function doAjax(urlAjax, successCallBack, completeCallBack) {
	jQuery.ajax( {
		type : "GET",
		dataType : "html",
		url : urlAjax,
		success : successCallBack,
		complete : completeCallBack
	});
}

3 - Criar função específica:

function recuperarCombo() {
	// Variavel que armazena a url da funcao ajax que retornara o conteudo do modal.
	var urlAjax = 'suaUrlAJAX?seuAtributoDeFiltro=' + document.getElementById("seuCampoTexto").value;

	// Executa a requisicao ajax para carregamento dos registros da pesquisa dinamica
	doAjax(urlAjax, function( html ){
	        html = jQuery.trim( html );
	
	        if ( html ) {
	            jQuery("#combo").html( html );
	        }
	    },
	    empty);
}

4 - Acionar o evento no componente adequado. Pelo que percebi da sua tela, será no onclick do botão/link.

juniorsatanas

robertol Obrigado !"

Vou tentar fazer aqui, e posto o retorno…

Valeu !

jr

Criado 11 de fevereiro de 2011
Ultima resposta 5 de mai. de 2011
Respostas 9
Participantes 3