Regresar   Foros del Web > Programación para sitios web > Javascript

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 08/05/08, 10:32:16   #1 (permalink)
Alkarod ha deshabilitado el Karma
 
Registrado: may 2008
Mensajes: 2
Alkarod is offline  
Buscar entre las opciones de un select

Hola a todos,

Es mi primer post en los foros, así que en primer lugar me disculpo si no he acertado posteando en esta rama, pero no estaba seguro de donde ubicar mi pregunta.

Mi duda es la siguiente, estoy realizando un formulario en el que el usuario debe seleccionar a través de varios campos select tanto su país, como su provincia y localidad. El problema surge porque hay provincias que pueden llegar a incluir miles de localidades y claro, para el usuario buscar la suya en el select se puede hacer engorroso.

He visto en algunas webs campos select sobre los que se puede ir presionando letras del teclado y el propio campo te va buscando dentro de sus contenidos los que corresponden con la sucesión de letras que vas indicando. Algo así como un buscador dinámico dentro del propio select. Por ejemplo, si quiero buscar Granada, y pulsaría la G luego la R y el select iría desplazándose a los contenidos de su lista que coinciden con las letras pulsadas.

Los select tradicionales tienen un comportamiento parecido, pero únicamente sirve para introducir la primera letra de la opción (en el ejemplo anterior solo me valdría pulsar la G porque al pulsar la R ya no serviría para nada).

Bueno, espero haberme sabido explicar y que alguien pueda ayudarme.
Un saludo y muchas gracias por adelantado.
  Responder Con Cita
Antiguo 08/05/08, 21:13:18   #2 (permalink)
albertcito ha deshabilitado el Karma
 
Registrado: dic 2007
Mensajes: 27
albertcito is offline  
Re: Buscar entre las opciones de un select

Postea esto en el foro de ajax!!
lo puedes hacer con una base de datos que contenga la información y con archivos php!

En este link hay un ejemplo y el código fuente: http://www.formatoweb.com.ar/ajax/
  Responder Con Cita
Antiguo 09/05/08, 01:49:08   #3 (permalink)
a2a2 tiene algunos puntos positivos de karma
 
Registrado: mar 2008
Mensajes: 247
a2a2 is online now  
Re: Buscar entre las opciones de un select

Estoy de acuerdo en que lo mejor es hacerlo via AJAX.
Puedes ver un ejemplo con esa funcionalidad en Google Suggest
  Responder Con Cita
Antiguo 09/05/08, 02:02:35   #4 (permalink)
Alkarod ha deshabilitado el Karma
 
Registrado: may 2008
Mensajes: 2
Alkarod is offline  
Re: Buscar entre las opciones de un select

Muchas gracias a los dos.

Sabía que podría hacerlo mediante ajax, pero quería saber si existía alguna posibilidad de buscar directamente sobre las opciones del select sin necesidad de acceder a bd.

De todas formas, muchas gracias.
  Responder Con Cita
Antiguo 09/05/08, 02:39:16   #5 (permalink)
albertcito ha deshabilitado el Karma
 
Registrado: dic 2007
Mensajes: 27
albertcito is offline  
De acuerdo Re: Buscar entre las opciones de un select

Cita:
Originalmente publicado por Alkarod Ver Mensaje
.... quería saber si existía alguna posibilidad de buscar directamente sobre las opciones del select sin necesidad de acceder a bd.
...
Bueno en mi opinión, al hacer esto con ajax sabemos que recibimos todos los datos de la base de datos si tienes arreglos en javascript puedes hacer algo parecido como Google Suggest si al fin y al cabo ajax recibe datos de mysql y los datos los puedes cargar al principio. Bueno en todo caso habría que pensar bien como hacer lo mismo solo con javascrip, cargando toda la información de la base de datos al principio.

Ojala que te resulte lo que deseas, adiós.
  Responder Con Cita
Antiguo 09/05/08, 04:12:19   #6 (permalink)
miSko tiene un saldo positivo de karma
 
Registrado: sep 2005
Mensajes: 287
miSko is online now  
Re: Buscar entre las opciones de un select

Bueno, se puede hacer sin ajaX, teniendo todas las Ciudades en un Array.

Doy por supuesto, que sabes obtener las pulsaciones del teclado y las letras y tal, asi que voy al grano :

Código PHP:

function obtenerListaCiudades(textoEscrito,arrayCiudades) {


       var 
textoExpReg '^' textoEscrito '.*' ;
       var 
regex = new RegExp(textoExpReg) ;

       var 
i=;
       var 
ciudadesSeleccionadas = Array() ;
       while (
arrayCiudades.length)
       {
              if(
arrayCiudades[i].search(regex) != -1)
                     
ciudadesSeleccionadas[ciudadesSeleccionadas.length] = arrayCiudades[i] ;              

              
i++ ;
       }

       return 
ciudadesSeleccionadas ;

--» A esta funcion la llamarias con cada Pulsacion de teclado, pasandole el texto introducido en el Textbox, y el array con todas las Ciudades

--» Esta funcion te Devolveria un Array con las ciudades que van concordando, luego con ese array ya puedes hacer lo que quieras: mostrarselas al usuario, supongo xD

--» Espero no haberme equivocado con la sintaxis de las Expresiones regulares, encuanto estas en 3 o 4 lenguajes, q cambian pekeñeces, no estas seguro de nada.

--» El array de Ciudades Inicial, claramente lo tienes que tener echo antes.

--» Dentro de lo que cabe, creo que no me he equivocado en la function, alomejor algun error sintactico que puedes arreglar tu ^_^


Si no te va, o te da error y no sabes como arreglarlo, o no ves el error, postealo aqui si eso :]

PD: Toda esa gente loca por ajaX, tranquilos!!, hay muchas cosas que se pueden hacer con ajaX, pero tambien se pueden hacer sin ellas...

PD2: Yo uso mucho ajaX xD

!
  Responder Con Cita
Antiguo 09/05/08, 11:53:05   #7 (permalink)
a2a2 tiene algunos puntos positivos de karma
 
Registrado: mar 2008
Mensajes: 247
a2a2 is online now  
Re: Buscar entre las opciones de un select

Cita:
Originalmente publicado por miSko Ver Mensaje
...
PD: Toda esa gente loca por ajaX, tranquilos!!, hay muchas cosas que se pueden hacer con ajaX, pero tambien se pueden hacer sin ellas...
...
!
Por supuesto, pero para este caso en concreto la lista de ciudades puede ser inmensa, por lo que el fichero HTML podria ser muy grande y tardar demasiado en cargar.
  Responder Con Cita
Respuesta


Califica este Tema - Buscar entre las opciones de un select.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 04:10:07.

Message Board Statistics

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96