FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ayuda sobre evento en php
Hola, estoy realizando un formulario en php, y necesito controlar el evento de un elemento lista, para que cada que cambie de valor, tambien lo haga otra lista. Algo asi como si seleccionamos un Estado de un pais, mostrar las ciudades en otra lista de seleccion.
gracias. |
#2
|
||||
|
||||
Debes tomar en cuenta que php no ejecuta en el cliente, y lo que pretendes controlar es un evento que se produce en el cliente, asi que tendras que auxiliarte un poco (o mucho) en javascript (por decir algo).
Lo puedes hacer de dos formas, ambas tienen un punto comun, y es asignar una rutina al evento onChange del SELECT: <SELECT NAME="nombre" onChange="haztalcosa()"> En ese onchange, bien puedes recargar la pagina y pasarle un parametro con algun campo que te permita rellenar el otro select: Código:
<onChange="pagina.php?talcosa=1"> .... .... <? if el request de la variable talcosa entonces Hago el select de la tabla y relleno el otro select ?> Ventajas del primer metodo: pocos datos viajan al cliente, mas carga para el servidor Del segundo, lo contrario.
__________________
Héctor Geraldino Software Engineer |
#3
|
|||
|
|||
Hola
Como bien dice Hecot con el evento "onchange" del "select" debes cambie el contenido de otro select. Las opciones que tienes son recargar la pagina, con la consiguiente perdida de tiempo si modificas mucho el valor de la lista "padre". La segunda opcion es crear una tabla en JavaScript con todos los posibles valores de la lista "hija" y desde javascrit coger los valores que necesites sin tener que recargar. Aque te dejo un ejemplo http://www.servibanner.com/contenido/login.php Cuando cambias de "sector" se recarga el "subsector". Esta un poco liado pero creo que te servra |
#4
|
|||
|
|||
gracias por contestar, creo que probare con la opcion de recargar la pagina, ya que los datos los estare tomando de la base de datos.
voy a realizar las pruebas y ya les estare dando lata, ya que apenas estoy comenzando con php. Saludos. |
#5
|
|||
|
|||
Hola
En el ejemplo que te he puesto, los datos se cogen de una base de datos, y genero la tabla desde php. |
#6
|
|||
|
|||
gracias kayetano, ya resolvi el problema.
pero ahora tengo otro problema, necesito mostrar los resultados de acuerdo a la letra de inciio de su nombre, es decir poner una barra con todas las letras del abecedario y al realizar unclic sobre alguna de ellas, mostrar estos. ¿como puedo realizar la accion de que al hacer clic sobre dicha letra yo envie una consulta nuevamente? agradeceria si alguien me puediera ayudar saludos. |
#7
|
||||
|
||||
Exactamente igual, pq sigues teniendo los mismos controles, y el evento que se dispara al cambiar de "letra" (opcion) sigue siendo el mismo.
Si lo estas haciendo en el servidor y no con javascript, puedes entonces poner una clausula where al select de la tabla, algo como: where campo like '$letracapturada%' Y, si lo estas haciendo desde javascript, recarga la lista buscando que la primera letra de cada elemento coincida con la que ya seleccionaste (mirate el metodo indexof del objeto string)
__________________
Héctor Geraldino Software Engineer |
|
|
|