Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   Buscar entre las opciones de un select (http://www.forosdelweb.com/f13/buscar-entre-las-opciones-select-584294/)

Alkarod 08/05/2008 10:32

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.

albertcito 08/05/2008 21:13

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/

a2a2 09/05/2008 01:49

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

Alkarod 09/05/2008 02:02

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.

albertcito 09/05/2008 02:39

Re: Buscar entre las opciones de un select
 
Cita:

Iniciado por Alkarod (Mensaje 2396718)
.... 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.

miSko 09/05/2008 04:12

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

!

a2a2 09/05/2008 11:53

Re: Buscar entre las opciones de un select
 
Cita:

Iniciado por miSko (Mensaje 2396838)
...
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.


La zona horaria es GMT -6. Ahora son las 08:44.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.