Problema con elemento SELECT

Iris
01 de Septiembre del 2003
Tengo un "SELECT" donde tengo una cantidad muy grande de posibilidades (generadas por una base de datos). Al tener activo el select en la página,
si presiono la tecla D, por ejemplo, salta a la primera opcion que comience con D, hasta aqui todo bien, pero necesito que si tecleo "DE", por ejemplo,
salte a la primera opción que comience con "DE", y si tecleo DEE..., etc


¿Como lo hago?

De antemano GRACIAS!!!!!!!!!!!!!!

gatsu
01 de Septiembre del 2003
tube el mismo problema y nadie me supo responder muy bien, tube que encontrar la solucion por mi mismo, hay dosa posibilidades para esto, una es dinamica, o sea el select se va especificando mientras ingresas las teclas una detras de otra, y la otra es colocar en una caja de texto aparte las letras que deseas y luego pretando un boton realice la busqueda, personalmente implemente la primera por cuestion de rapidez de uso, pero el problem es que si te equivocas no vuelve atras(el arreglo de las teclas no tiene como saber que debe reiniciarse), aqui va el javascript:
function cambio(form1) // aqui el formulario que contiene el select
{
var realkey = String.fromCharCode(event.keyCode);
if (teclas == null)
{
teclas = realkey;
buffer++;
}
else
{
teclas += realkey;
buffer++;
}
for (var opcombo=0;opcombo < form1.cbo_folio.length;opcombo++){
if(form1.cbo_folio[opcombo].text.substr(0,buffer).toLowerCase()==teclas.toLowerCase()){
form1.cbo_folio.selectedIndex=opcombo;
}}

}
y esta es la llamada desde el Select
<select name="cbo_folio" onkeyup=cambio(this.form)>"
lo que hara que si el select esta enfocado, cada vez que se suelte una tecla(despues de presionada obviamente) ejecute la llamada a la funcion, que lo que hace es almacenar en un arreglo las teclas presionadas y compararlas con todo el contenidpo del select (para eso el FOR) y setea el el select para que tome el valor que sea igual al arreglo de teclas

ricardo
01 de Septiembre del 2003
como llenas de valores el select??,te agradeceria que me lo dijeras, tengo un problemilla con eso
gracias