No entendi muy bien...
pero mira...
para bloquear la tecla puedes enviar el evento
<input type="text" id="busca" name="busca" onKeyUp="buscar(event);">
function buscar(e) {
var tecla;
try
{
tecla=e.keyCode // IE
}
catch (e )
{
tecla=e.which; // FF
}
if (tecla != 8) // cuando no sea BackSpace
{ //Codigo si no es backspace }
}
Para borrar una lista sin necesidad de recorrer todos los elementos puedes hacerlo asi....
function limpiarLista()
{
document.formulario.miCombo.innerHTML="";
}
Espero te sirva evitas el ciclo
El codigo que expones a mi me funciona, y no me recarga la lista con bs, y creo que si debe funcionar asi porque si al dar bs el criterio de busqueda se modifica entonces la lista debe cambiar no?
Ejemplo
supongamos que buscas...
"Atleti"
y que existieran
Atletico
Atletismo
pero si buscas
"Atletis"
Atletismo
pero al dar bs se debe volver a la lista anterior
"Atleti"
Atletico
Atletismo
y ese comportamiento tiene segun la prueba que hice de tu codigo
*bs = BackSpaceSaludos