Foros del Web » Programando para Internet » Javascript »

Combo dinamico a partir de otro combo dinamico

Estas en el tema de Combo dinamico a partir de otro combo dinamico en el foro de Javascript en Foros del Web. Hola, estoy haciendo con mysql y php un formulario para subir datos. La estructura es: |Rubro | subrubro | categoria| Para el rubro, lo creo ...
  #1 (permalink)  
Antiguo 13/10/2005, 14:50
 
Fecha de Ingreso: agosto-2005
Mensajes: 4
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta Combo dinamico a partir de otro combo dinamico

Hola, estoy haciendo con mysql y php un formulario para subir datos. La estructura es:
|Rubro | subrubro | categoria|

Para el rubro, lo creo directamente leyendo mysql y esrcibiendo los options correspondientes.

Los subrubros los creo en javascript ( tambien usando php ) y se modifica el valor a partir de la opcion seleccionada en rubro.

Ahora lo que no me sale es hacer que la categoria se modifique a partir de la opcion seleccionada dinamicamente en subrrubro.

Pego la parte html que es la q creo tiene problemas:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Rubros y subrubros</title>
<script language="javascript">
function subrubros()
{
   var index=document.forms.form1.rubro.selectedIndex;
   form1.subrubro.length = 0;
if(index==0) cambiar0();
if(index==1) cambiar1();
if(index==2) cambiar2();
if(index==3) cambiar3();
if(index==4) cambiar4();
}

</script>
</head><body onLoad="subrubros(),listado()">
<form name="form1" id="form1" method="get">

<select name="rubro" onChange="subrubros()">
          <option value="0">Inmuebles</option>
          <option value="1">Automotores</option>
          <option value="2">Empleos</option>
</select>

<select name="subrubro" onChange="listado()">	
	<option value="0">---</option>
</select>

<select name="listado">	
	<option value="0">---</option>
</select>

<script language='javascript' type='text/javascript'>
function cambiar0() {
document.forms.form1.subrubro.options[0] = new Option('Viviendas',1); 
document.forms.form1.subrubro.options[1] = new Option('Otras viviendas',2); 
document.forms.form1.subrubro.options[2] = new Option('Propiedades en general',3); 
document.forms.form1.subrubro.options[3] = new Option('Otros negocios',4); 
}
function cambiar1() {
document.forms.form1.subrubro.options[0] = new Option('---',16); 
}
function cambiar2() {
document.forms.form1.subrubro.options[0] = new Option('Administracion',5); 
document.forms.form1.subrubro.options[1] = new Option('Comercial',6); 
document.forms.form1.subrubro.options[2] = new Option('Tecnico',7); 
document.forms.form1.subrubro.options[3] = new Option('Profesionales',8); 
document.forms.form1.subrubro.options[4] = new Option('Servicios',9); 
}

</script>

<script language="javascript" type="text/javascript">
function cambior1() {
document.forms.form1.listado.options[0] = new Option('Departamentos y Casas',1); 
}
function cambior2() {
document.forms.form1.listado.options[0] = new Option('Quintas, Countries',2); 
document.forms.form1.listado.options[1] = new Option('Habitaciones en casa de familia, Hoteles y Pensiones',3); 
document.forms.form1.listado.options[2] = new Option('Vacaciones: Casas, Departamentos, Hoteles, Habitaciones, Terrenos y Negocios',4); 
document.forms.form1.listado.options[3] = new Option('Propiedades del interior del país',5); 
}
function cambior3() {
document.forms.form1.listado.options[0] = new Option('Terrenos, Fracciones y Loteos',6); 
document.forms.form1.listado.options[1] = new Option('Campos, Chacras',7); 
document.forms.form1.listado.options[2] = new Option('Galpones, Edificios industriales y Depósitos',8); 
document.forms.form1.listado.options[3] = new Option('Industrias, Fondos de comercio',9); 
document.forms.form1.listado.options[4] = new Option('Locales comerciales, Oficinas y Consultorios',10); 
document.forms.form1.listado.options[5] = new Option('Cocheras y Bauleras',11); 
document.forms.form1.listado.options[6] = new Option('Bóvedas, Nichos y Parcelas',12); 
}
function cambior4() {
document.forms.form1.listado.options[0] = new Option('Permutas de inmuebles',13); 
document.forms.form1.listado.options[1] = new Option('Hipotecas, Préstamos, Títulos, Finanaciaciones',14); 
}


function listado() {
   var indez=document.forms.form1.subrubro.selectedIndex;
   form1.listado.length = 0;
  
if(indez==1) cambior1();
if(indez==2) cambior2();
if(indez==3) cambior3();
if(indez==4) cambior4();

	
}
</script>
</form>
</body>
</html> 
(era mas largo pero le quite contenido porque se hacia muuuy largo)

Si me pueden dar una mano, bienvenida sea.

Muchas gracias, Julián.
  #2 (permalink)  
Antiguo 13/10/2005, 21:35
Avatar de leoj90
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Mensajes: 1.365
Antigüedad: 18 años, 9 meses
Puntos: 0
... Pon todo el codigo Js arriba entre <head></head>...
<form name="forms">

Además debes crear los select q quieres 'mostrar', recuerda q están ocultos pero no quiere decir q no aparecen en el codigo y q se crean de la nada.

Haber si puedes tomarte una referencia de aqui: http://www.desarrolloweb.com/articul...xpandido3.html -Es Dhtml pero es similar a tu caso
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:38.