Vraptor - autocomplete

galera,

gostaria de fazer um autocomplete que nem o gmail (por exemplo) faz ao enviar um email… vc começa a digitar, aparace o nome e o email dos contatos… clica no contato aí adiciona a virgula para que pudesse digitar e encontrar outro contato…

vi pela apostila que isto não acontece né ?

abraçsop

http://jqueryui.com/demos/autocomplete/#multiple

opa…
obrigado…

agora estou apanhando…

@Get @Path("/professor/busca.json") public void buscaJson(String q) { result.use(json()).withoutRoot() .from(professores.executarHQL("from Professor WHERE professor.nome like :prof"), new Parametro("prof", q)) .serialize(); }

ta com erro em tempo de projeto… diz que nao funciona por que o retorno é List …
nao entendi… pq isto acontece? o que deveria ser o retorno… Apenas 1 professor?

qual é exatamente o erro de compilação?

o autocomplete nao vai dar certo
pq preciso do ID dos elementos pra criar um Array de elementos pra gravar no banco num relacionamento n-n

tem em mente um componente que possa ajudar?

funciona sim…
no autocomplete vc consegue no mínimo guardar um input hidden com os ids separados por vírgula… daí é só fazer o split via javascript ou no servidor…

ou vc pode fazer algo mais inteligente no select do autocomplete, criando um input hidden cada vez que selecionar um cara.

tem algum lugar que possa saber mais sobre isto?

não consegui fazer o autocomplete multiple lá rodar de jeito nenhum…
até que aparecia a caixa, mas nao aparecia os nomes :frowning:

tentou copiar exatamente o exemplo do site?

teoricamente o que está lá funciona.

exatamente… mas nao funcionou…

tipo, se o json vai retornar ID e NOME,
como q o plugin vai saber que é o ‘nome’ q é pra ele exibir? nao tem isso
no exemplo lá…
e como que eu pego o ID qndo ele selecionar…

eitaa
ta meio obscuro isto pra mim :frowning:

e depois…c omo que o vraptor vai criar o
Collection pra colocar no objeto q to qrendo criar ou editar??

=/

dá uma olhada nesse exemplo:

http://jqueryui.com/demos/autocomplete/#remote-jsonp

mesma idéia do {label:…, value: …}, vc pode retornar o que vc quiser.

no caso vc vai colocar o id e o texto que quer mostrar.

daí no select vc cria um input hidden com esse id como valor. Se tiver vários inputs com o mesmo nome o VRaptor consegue transformar os valores numa List<…>