Hola lexus, está bien ese script que te autocompleta, pero sólo funciona en IE, tiene acciones sólo referidas a él.
Yo me refería a una cosa más sencilla, así:
Código PHP:
<select id="sel" size="4" style="width:150px;">
<option>Uno</option>
<option>Otras</option>
<option>Algo</option>
<option>Algunas</option>
</select> <br/>
<input type="text" id="caja" onkeyup="actualizaSel(this.value)" style="width:150px;" />
<script>
var elSel=document.getElementById("sel");
var laCaja=document.getElementById("caja");
//guardamos todas las option en un array
for( var opciones=new Array, i=0; i<elSel.options.length; i++) {
opciones[i]=new Option( elSel.options[i].text, elSel.options[i].value );
}
//función que según lo que haya escrito en la caja de texto, filtra las opciones del select
function actualizaSel(valor) { //si valor está vacío encajarán todas las opciones
var re=new RegExp("^"+valor, "i"); //sin dependencia de mayúsculas y minúsculas
//quitamos todos los elementos del select
while( elSel.options.length > 0 )
elSel.options[0] = null;
//colocamos sólo los elementos que encajen con re
for(var i=0; i<opciones.length; i++) {
if( re.test(opciones[i].text) )
elSel.options[ elSel.options.length ] = opciones[i];
}
}
</script>
Puedes quitarlos, o puedes desactivar las opciones (algo complicado para el usuario cuando las opciones no las tienes ordenadas alfabéticamente), lo que tú más prefieras.
Un saludo.