gui_sv
Julho 21, 2006, 9:55am
#1
Galera.!!
Tenho minha .jsp q possui lá seus comboBox. blz.
Suponha q esta lista seja de Cidades do Estado de São Paulo…
quando eu clico na setinha para expandir o combo ele lista tudo ai eu digito a letra ‘s’ e ele vai para o primeiro registro com a letra ‘s’.
mas imagine q eu tenho 40 estados com a letra ‘s’…eu tenho apertar o s varias vezes ou ir com a setinha para baixo até encontrar o que eu quero.
Vamos ao q interessa…
eu quero assim… quando digitar a letra ‘s’ depois ‘a’ ai eu vo digitando e ele vai buscando na sequencia…
TEM COMO FAZER ISSSO … OU EU ESTOU VIAJANDO…
Se alguem puder me ajudar … olha … MUITO OBRIGADO…
Vlw
Vc precisa ver se realmente compensa fazer isso, nesses casos o ideal seria usar AJAX.
Algo ± assim:
//classe
package br.com.mundojava.ed14.ajax.completar;
import java.util.ArrayList;
import java.util.List;
public class Informacoes {
private static String[] names;
static {
names = new String[] {
"Ana Maria", "Ana Claudia", "Anastella",
"Bernardo", "Bruno Campos", "Bruno Torres",
"Claudio Roberto", "Claudioberto", "Claudia",
"Daniel", "Daniela", "Daniela Figueiredo",
"Eleandro", "Emanuela Fernanda Borges", "Eustacio",
"Figueirinha", "Fernando Silveira", "Fernandinha","Fabio Pedrosa"
};
}
public static List busca(String s) {
synchronized (names) {
List l = new ArrayList();
for (int i = 0; i < names.length; i++) {
String nome = names[i];
if (nome.toLowerCase().indexOf(s) > -1) {
l.add(nome);
}
}
return l;
}
}
}
//JSP
<html>
<head>
<script type='text/javascript' src='dwr/interface/Informacoes.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<style type="text/css">
body { font-family: arial; font-size: 12px; }
div { padding-top: 10px; }
</style>
<script>
function $(id) {
return document.getElementById(id);
}
function buscar(nome) {
Informacoes.busca(preencheResultados, nome.toLowerCase());
}
function preencheResultados(nomes) {
var data = "";
for (var i = 0; i < nomes.length; i++) {
data += "<a href='javascript:seleciona(\"" + nomes[i] + "\")'>" + nomes[i] + "</a><br>";
}
$("resultados").innerHTML = data;
}
function seleciona(nome) {
$("nome").value = nome;
}
</script>
<body>
<h2>Busca de nomes</h2>
<div>
Nome: <br>
<input type="text" id="nome" onKeyPress="buscar(this.value);">
</div>
<span id="resultados"></span>
</body>
</html>
Obs: serão necessários os jars do Ajax de uma pesquisada sobre.
zepunk
Julho 21, 2006, 10:37am
#3
O jeito mais elegante de fazer isto seria com o Ajax, o DWR é muito facil.
Na edição 14 da Mundo Java, fala um pouco sobre o DWR e tem alguns exemplos. lah você acha onde pegar os Jar´s .
http://www.mundojava.com.br/NovoSite/14materiacapa.shtml#ajax
olá pessoal…
alguém pode explicar melhor sobre o ajax???