Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/05/2007, 08:02
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Escritura intuitiva

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=0i<elSel.options.lengthi++) {
    
opciones[i]=new OptionelSel.options[i].textelSel.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 )
        
elSel.options[0] = null;
    
//colocamos sólo los elementos que encajen con re
    
for(var i=0i<opciones.lengthi++) {
        if( 
re.test(opciones[i].text) )
            
elSel.optionselSel.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.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.