JavaScript - combobox

 
Vista:

combobox

Publicado por Miguel R. (2 intervenciones) el 26/06/2006 21:34:15
hola a todos queria hacer una consulta. Tengo dos combobox, el codigo del primero es:
<select size="1" name="pais">
<option value="">Seleccione Departamento</option>
<option value="Peru">Lima</option>
<option value="Argentina">Argentina</option>
<option value="Brasil">Brasil</option>
</select>
y el codigo del segundo es:
<select size="1" name="capital">
<option value="">Seleccione Departamento</option>
<option value="Lima">Lima</option>
<option value="Buenos Aires">Buenos Aires</option>
<option value="Brasilia">Brasilia</option>
</select></td>
lo q quiero hacer es q cuando seleccione por ejemplo Peru (en el 1er combobox), en el 2do combobox solo aparezca la opcion "Lima" para seleccionar, y cuando seleccione la opcion "Argentina" (en el 1er combobox), aparezca solo la opcion "Buenos AIres" para seleccionar y asi sucesivamente, alguien podria ayudarme para saber como hacer esa funcion?. Les agradeceria mucho su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:combobox

Publicado por maree (28 intervenciones) el 26/06/2006 22:29:56
Hola, voy a tratar de contestarte segun lo q he podido entender que deseas hacer. Entiendo q quieres que cada vez q cambie el combo pais, aparezca en el otro combo la capital o ciudad. Si es asi, no veo necesidad de usar un combo, podrias usar un textbox, eso si entendi bien; ya que el combo de capital siempre va a estar compuesto por un solo elemento (la ciudad del pais que selecciones)... Aqui te va un pequeño codigo

<script>
<!--
function cambio()
{
tmp = document.pp.pais.options[document.pp.pais.selectedIndex].value
document.pp.capital.options[1] = new Option(tmp, tmp, true, true)
}
--></script>

<body >
<form name=pp>
<select name=pais OnChange="cambio()">
<option value="Lima">Peru</option>
<option value="Buenos Aires">Argentina</option>
<option value="Panama">Panama</option>
<option value="Quito">Ecuador</option>
</select>

<select name=capital >
</select>
</form>
</body></html>

si ves las ciudades estan el value de del select, de modo que por cada pais q selecciones en el combo pais, se colocara su correspondiente ciudad en el combo ciudad.

Espero te sirva, bye...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:combobox

Publicado por Miguel R. (2 intervenciones) el 26/06/2006 23:27:22
Hola maree muchisimas gracias, tu codigo me sirvio y ya pude hacerlo lo q queria. Ahora una consulta mas. Lo q tengo q hacer ahora es q cuando en el combo Capital escoga por ejemplo LA opcion "Lima" entonces en otro combo llamado "Distritos" me aparezcan los distritos de Lima, luego al escoger "Buenos Aires" (en el combo capital) en el combo Distrito me salgan todos los distritos de Buenos Aires y asi sucesivamente. Ese lo tengo q hacer con un Array no?, pero donde definido ese Array. Mira yo he hecho hasta ahora lo siguiente:

var DisLima = new Array("Pueblo Libre","San Miguel","Comas","San Isidro")
varDis_BuenosAr = new Array("Caballito","Santa Fe","Columbus")
var Dis_Brasilia = new Array("Fabela","Sinuce","Vertino","Credales")

me gustaria q me digas qué cosa sigue y como es el codigo para pasar esos Array al combo de Distritos

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:combobox

Publicado por maree (28 intervenciones) el 27/06/2006 23:19:32
Bien, se me ocurre esta funcion... lo que hace es q cuando le das clic a la capital te muestra los distritos en el otro combo.

Ahora, solo tienes una tarea q por falta de tiempo no pude averiguar, como limpias el combo de distritos cada vez q llamas a la funcion de modo que no se quede con basura.

Te explico un poco mas, en lugar de usar varios arrays, use uno solo que contenga todos los distritos; ves el numero al lado de los nombres de los distritos, van de acuerdo a la posicion de los paises dentro del combo de paises.

<script>
<!--
function dis()
{
var i
var distritos = new Array("1Pueblo Libre","1San Miguel","1Comas","1San Isidro",
"2Caballito","2Santa Fe","2Columbus",
"3Fabela","3Sinuce","3Vertino","3Credales")

h = 0
for(j=0; j<distritos.length; j++)
{

if(distritos[j].charAt(0) == document.pp.pais.selectedIndex + 1)
{
tmp = distritos[j]
document.pp.distrito.options[h] = new Option(tmp.substring(1, tmp.length), document.pp.capital.selectedIndex, true, true)
h++
}
}
}
-->
</script>

<body onLoad="dias()">
<form name=pp>
<select name=pais OnChange="cambio()">
<option value="Lima">Peru</option>
<option value="Buenos Aires">Argentina</option>
<option value="Brasilia">Brasil</option>
<option value="Quito">Ecuador</option>
</select>

<select name=capital OnMouseDown="dis()">
</select>

<select name=distrito >
</select>

</form>

Espero te sirva, bye...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar