Foros del Web » Creando para Internet » HTML »

Editar un select

Estas en el tema de Editar un select en el foro de HTML en Foros del Web. Tengo un select creado dinámicamente con PHP a partir de una base de datos. El problema es que dependiendo de la consulta el select puede ...
  #1 (permalink)  
Antiguo 17/12/2002, 02:16
Kes
 
Fecha de Ingreso: diciembre-2002
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
Editar un select

Tengo un select creado dinámicamente con PHP a partir de una base de datos.
El problema es que dependiendo de la consulta el select puede llegar a tener mas de 500 objetos, por eso me gustaría saber si es posible permitir al usuario introducir su propio texto en el select, además de poder elegir cualquiera de las opciones que tenga.

Saludos!!!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 17/12/2002, 03:56
 
Fecha de Ingreso: enero-2002
Mensajes: 95
Antigüedad: 15 años, 10 meses
Puntos: 0
Creo que no....

Hola Kes.
Que yo sepa, un usuario no puede escribir nada en un select. A lo mejor con hojas de estilo o javascript se puede pero yo creo que no.

Saludos.
  #3 (permalink)  
Antiguo 17/12/2002, 04:43
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 16 años
Puntos: 60
Kes!!

Igual lo que te propongo es matar moscas a cañonazos, pero mira a ver si te sirve este código...

Lo que hago un poco es simular un SELECT... y luego ir comprobando lo que se va escribiendo con la lista (en mi caso la he hecho en javascript pero será muy fácil adaptarla a PHP) y si comprueba que no se corresponde con ningún elemento de la lista hace cambiarse el Input por el SELECT. Para hacerlo convierte las variables a minusculas para que no salgan falsos errores si da igual el que esté en mayusculas o minusculas.

El SELECT también salta si se pincha sobre la imagen de la derecha que no es sino una representación de la flecha que aparece a la derecha de un select.

Si quieres ver como funciona sin tener que copiar y pegar visita www.webareyou.com/select.html

Si crees que se puede mejorar eres libre de hacerlo así como de preguntar sugerir...

el código es el siguiente (lo pongo en PHP poruqe queda más claro, pero es javascrit, eh?)
Código PHP:
<html>
<
head>
    <
title>Prueba</title>
    <
script>
    var 
bien=0;
    
opciones=new Array;
    
opciones[0]="Estaba el señor Don Gato";
    
opciones[1]="Sentadito en su tejado";
    
opciones[2]="Marramiamiau miau miau";
    
seleccion="<select style='width:180px' name='escribe' size='1'>"
    
for (a=0a<opciones.lengtha++){
    
seleccion=seleccion+"<option value='"+a+"'>"+opciones[a]+"</option>";
    }
    
seleccion=seleccion+"</select>";
    function 
cambio(){
    
pregunta.innerHTML=seleccion;
    
    }
    function 
comprobar(){
    
escrito=escribe.value
    escrito
=escrito.toLowerCase();
    
numerodeletras=escrito.length;
    for (
a=0a<opciones.lengtha++){
                                        
texto=opciones[a].substring(0,numerodeletras);
                                        
texto=texto.toLowerCase();
                                        if (
texto==escrito){bien=bien+1}
                                        }
    if (
bien==0){pepe=confirm("no incluido en la lista\n¿Quiere ver la lista?");
                if (
pepe){cambio()}
                }
                
bien=0;
    
    }
    
</script>
</head>
<body>
<div id="pregunta" style="position:absolute;top:50px;left:50px;z-index:2"><input style=";width:160px" type="text" onkeyup="comprobar()" vale="dd" name="escribe"></div>
<img  style="position:absolute;top:49px;left:210px;z-index:2;" onclick="cambio()" src="boton.jpg">
</body>
</html> 
Saludos
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 17/12/2002 a las 04:50
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:35.