Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo
ARTICULO: Elementos de formulario select asociados

 Se muestran 21 comentarios sin revisar

Francisco  15/1/05 
Como puedo hacer lo mismo pero en php? yo tengo un array en donde tengo los paises pero no se como asociarlo a otro array con las provincias.
Un saludo

Camilo Rojas  02/2/05 
Bueno, lo de saltar a un link al seleccionar un valor en el segundo cuadro desplegable claro que se puede hacer. Pero no se como :p me imagino que se puede hacer con un archivos php que guarde el valos que se selecciono en cada cuadro de texto y dependiendo de este valor el php v a tener almacenadas las página de cada valor. Si alguien puede hacer esto ayudeme y también a las ptras personas que lo necesitan.

raul  05/5/05 
en que parte del script limpio el select y comienzo a insertar las porvincias del pais elegido.

fabian  25/5/05 
ignacio, para hacer eso solo tienes que construír el arreglo de las opciones dinámicamente, imprimiendo los valores recogidos de base de datos, muy buen ejemplo por cierto.

Colin  25/5/05 
Podrian manejar el mismo ejemplo pero con 3 selects, es decir que cuando seleccione una ciudad cambie la lista de estados y cuando seleccione un estado cambie la lista de municipios, de antemano muchas gracias.

Intente hacerlo de esta forma pero me manda el siguiente error
municpios_y segun el municipio que seleccione me dice que no esta definidio

si selecciono andalucia
'municipios_andalucia' no esta definido


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Selects dependientes</title>
</head>

<body>
<form name="f1">
<select name=pais onchange="cambia_provincia()">
<option value="0" selected>Seleccione...
<option value="1">España
<option value="2">Argentina
<option value="3">Colombia
<option value="4">Francia
</select>

<select name=provincia onchange="cambia_municipio()">
<option value="-">-
</select>


<select name=municipio>
<option value="-">-
</select>
</form>

<script>
//defino una serie de varibles Array para cada país
var provincias_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
var provincias_2=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...")
var provincias_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
var provincias_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")

var municipios_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
var municipios_2=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...")
var municipios_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
var municipios_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")

//función que cambia las provincias del select de provincias en función del país que se haya escogido en el select de país.
function cambia_provincia(){
//tomo el valor del select del pais elegido
var pais
pais = document.f1.pais[document.f1.pais.selectedIndex].value
//miro a ver si el pais está definido
if (pais != 0) {
//si estaba definido, entonces coloco las opciones de la provincia correspondiente.
//selecciono el array de provincia adecuado
mis_provincias=eval("provincias_" + pais)
//calculo el numero de provincias
num_provincias = mis_provincias.length
//marco el número de provincias en el select
document.f1.provincia.length = num_provincias
//para cada provincia del array, la introduzco en el select
for(i=0;i<num_provincias;i++){
document.f1.provincia.options[i].value=mis_provincias[i]
document.f1.provincia.options[i].text=mis_provincias[i]
}
}else{
//si no había provincia seleccionada, elimino las provincias del select
document.f1.provincia.length = 1
//coloco un guión en la única opción que he dejado
document.f1.provincia.options[0].value = "-"
document.f1.provincia.options[0].text = "-"
}
//marco como seleccionada la opción primera de provincia
document.f1.provincia.options[0].selected = true
}
function cambia_municipio(){
//tomo el valor del select del pais elegido
var pais
provincia = document.f1.provincia[document.f1.provincia.selectedIndex].value
//miro a ver si el pais está definido
if (provincia != 0) {
//si estaba definido, entonces coloco las opciones de la provincia correspondiente.
//selecciono el array de provincia adecuado
mis_provincias=eval("municipios_" + provincia)
//calculo el numero de provincias
num_municipios = mis_municipios.length
//marco el número de provincias en el select
document.f1.municipio.length = num_municipios
//para cada provincia del array, la introduzco en el select
for(i=0;i<num_municipios;i++){
document.f1.municipio.options[i].value=mis_municipios[i]
document.f1.municipio.options[i].text=mis_municipios[i]
}
}else{
//si no había provincia seleccionada, elimino las provincias del select
document.f1.municipio.length = 1
//coloco un guión en la única opción que he dejado
document.f1.municipio.options[0].value = "-"
document.f1.municipio.options[0].text = "-"
}
//marco como seleccionada la opción primera de provincia
document.f1.municipio.options[0].selected = true
}
</script>
</body>
</html>

Jhony  10/6/05 
hay alguna forma de hacerlo pero sin q REFRESQUE la página o sin q haga SUBMIT???

Jhony  10/6/05 
hay alguna forma de hacerlo pero sin q REFRESQUE la página o sin q haga SUBMIT???

Gabriela  22/8/05 
Hola, disculpa no soy una experta en asp pero quisiera saber como es que se recuperan los valores de provincia cuando siempre se tiene un value="-"??

Claudio  25/9/05 
Igual excelente aporte aunque no era exactamente lo que andaba buscando pero tratare de aplicar la idea en agregar opciones desde una basa de datos postgres.

Gracias

Juan Granado  30/9/05 
Claro y conciso. Me ha ido muy bien.

MC  28/10/05 
<html>

<head>
<title>Prueba</title>

</head>

<script language="javascript">

var provincias_a=new Array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20")
var provincias_f=new Array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19")
var provincias_m=new Array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18")
var provincias_p=new Array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17")

function Add(){
//tomo el valor del select del pers elegido
var pers
pers = document.lista.persona[document.lista.persona.selectedIndex].value
//miro a ver si el pers está definido
if (pers != 0) {
//si estaba definido, entonces coloco las opciones de la provincia correspondiente.
//selecciono el array de provincia adecuado
mis_provincias=eval("provincias_" + pers)

//calculo el numero de semanas
num_sem = mis_provincias.length

//marco el número de semanas en el select
document.lista.semana.length = num_sem


//para cada semana del array, la introduzco en el select
for(i=0;i<num_sem;i++){

//hasta aqui bien
document.lista.semana.options[i].value=mis_provincias[i]

document.lista.semana.options[i].text=mis_provincias[i]


}
}else{
//si no había provincia seleccionada, elimino las provincias del select
document.lista.semana.length = 1
//coloco un guión en la única opción que he dejado
document.lista.semana.options[0].value = "..."
document.lista.semana.options[0].text = "..."
}
//marco como seleccionada la opción primera de provincia
document.lista.semana.options[0].selected = true

}

function Go(){
window.name="ventana"
var direccion=document.lista.semana.value+"_semana_"+document.lista.persona.value+".html"
window.open(direccion,'ventana')
}



</script>

<body>

<form name="lista">
<table align="center"><tr>
<td><select name="persona" onchange="Add()">
<OPTION value=o SELECTED>Selecciona

<OPTION value=a>a
<OPTION value=f>f
<OPTION value=m>m
<OPTION value=p>p

</select></td>
<td><select name="semana">
<option value="-">- -
</select>


</td>
<td><input type="button" value="Go" onclick="Go()">

</tr></table>

</form>


</body>

</html>

Ivar  09/12/05 
quisiera que ese articulo de selects asociados que tienen en javascrip lo hagan con php con una base de datos no puedo encontrar nada al respecto de select asociados en php

Martin  24/1/06 
Como se hace para que en un select si elegis una opcion te la envien en el formulario, y si elegis otra te mande a un link (pero todo dentro de un select). Yo encontre uno pero me manda en todas las opciones a un link, y a mi me interesa que si selecionan una en especial de las 4 opciones valla a un link.

lester  22/2/06 
esta muy bueno el ejemplo,y bien explicado , pero nesecito hacerlo con php trabajando con consultas de mysql y quisiera ver la explicacion

José David  08/5/06 
Esta muy bien, yo lo tengo hecho de forma que a través de php me actualice el select. Pero y si utilizo en el mismo formulario más select, el script deja de funcionar.

edgar  11/3/07 
La segunda lista, que se forma con los array no puedes lanzar valores a las opciones? como los values en el formulario?

Juan Carlos  16/3/07 
Es muy util esta funcion en JavaScript pero quisiera saber si se puede hacer lo q dice edgar...

Lara  08/5/07 
Excelente el aporte de Fernado Reyes, al fin pude hacer un select opcional que funcionara bien con datos extraidos de una base de datos.Muchas gracias !!!

Alfredo  29/6/07 
He implementado el script y se ejecuta de maravilla pero la implementacion de php no la he podido implementar Si Fernado reyes la pone completa se lo agradeceria gracias de antemano

jesus  05/10/07 
El código de Fernando Reyes funciona perfecto, yo lo adapte a jsp y me saco de un gran apuro.

José  29/11/07 
Gracias por este artículo me sirvío mucho. Tambíen use el código de Fernando Reyes para llenar a partir de una base de datos y quedo perfecto.

Ver el articulo / faq completo Ver el articulo y todos sus comentarios
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba

Comentarios no revisados de:

+ Elementos de formulario select asociados


DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia