Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2007, 11:28
axel_7384
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 16 años, 5 meses
Puntos: 0
Cambiar el <select> deacuerdo a un radio

gente una duda!
Como dice el tema...

Yo tengo el sgte codigo que encontré en internet:

<form name="formulario" method="post" action="">
<div align="center">Usa
<input name="paises" type="radio" OnClick="cambiar()" value="1" checked>
Espa&ntilde;a
<input name="paises" type="radio" OnClick="cambiar()" value="2">
<br>
Ciudad
<select name="ciudades">
<option value="1" selected>Miami</option>
<option value="2">New York</option>
<option value="3">Boston</option>
</select>
</div>
</form>

<script language="JavaScript">
function cambiar()
{
if(document.forms.formulario.paises[0].checked) pais1(); // USA
if(document.forms.formulario.paises[1].checked) pais2(); // ESPAÑA
}

function pais1(){
opcion0=new Option("Miami","1","defauldSelected");
opcion1=new Option("New York","2");
opcion2=new Option("Boston","3");

document.forms.formulario.ciudades.options[0]=opcion0;
document.forms.formulario.ciudades.options[1]=opcion1;
document.forms.formulario.ciudades.options[2]=opcion2;
}

function pais2(){
opcion0=new Option("Madrid","1","defauldSelected");
opcion1=new Option("Malaga","2");
opcion2=new Option("Cadiz","3");

document.forms.formulario.ciudades.options[0]=opcion0;
document.forms.formulario.ciudades.options[1]=opcion1;
document.forms.formulario.ciudades.options[2]=opcion2;
}

</script>


y me va chevere funciona!
Pero ahora sucede que me di cuenta que funciona porque son 3 listados y en la 2da opcion tb son 3 listados; sin embargo cuando le agrego 2 opciones más a uno de las opciones, esto ya no funciona bien.
Por ejemplo:


function pais1(){
opcion0=new Option("Miami","1","defauldSelected");
opcion1=new Option("New York","2");
opcion2=new Option("Boston","3");
opcion3=new Option("pollo1","4");
opcion4=new Option("pollo2","5");

document.forms.formulario.ciudades.options[0]=opcion0;
document.forms.formulario.ciudades.options[1]=opcion1;
document.forms.formulario.ciudades.options[2]=opcion2;
document.forms.formulario.ciudades.options[3]=opcion3;
document.forms.formulario.ciudades.options[4]=opcion4;
}


Le he agregado "pollo1" y "pollo2" entonces cuando elija la 2da opcion, va a chancar los 3 primeros elementos de la lista y va a mostrar los 2 ultimos de la lista anterior, y eso es malo!

Me pregunto como haría para poder mostrar solo aquellos que debo mostrar y no las sobras de la antigua lista.

Espero haberme explicado bien.
Saludos