Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2015, 21:38
monano1
 
Fecha de Ingreso: noviembre-2015
Mensajes: 1
Antigüedad: 8 años, 5 meses
Puntos: 0
Pregunta Select de otro Select

Hola, como andan? Les comento, tengo 3 selects(Institucion, areas y Subareas).
Cuando se elije una institucion, muestra todas las areas que pertenecen a esa institucion. El problema es que no puedo hacer lo mismo con las subareas (muestran todas las subareas que pertenecen a tal area).
Les paso el codigo.

Los select:
Código:
     <tr>
          <td height="39" align="right">Seleccione Institución  :</td>
          <td colspan="2"><select name="institucion"  onChange="slctryole(this,this.form.area)" class="box">
            <option value="N" selected  >Sin Especificar</option>
<?php     
       
                 while ($f_ins = mysql_fetch_array($r_inst))
                      {
?>
            <option value="<?php echo "i".$f_ins['id_institucion'] ?>"> <?php echo $f_ins['nombre_institucion']?></option>
            <?php
			
			          }
				
?>
	</select></td>
		  
		  </td>
        </tr>
        <tr>
		
          <td height="39" align="right">Seleccione Area  :</td>
          <td colspan="2"><select name="area" onChange="slctryole(this,this.form.subarea)" class="box">
            <option value="N" selected>Seleccione Area</option>
				
          

          </select></td>
        </tr>
		
		<tr>
          <td height="39" align="right">Seleccione Subarea  :</td>
          <td colspan="2"><select name="subarea" class="box">
            <option value="N" selected>Seleccione Subarea</option>
				
          </select></td>
        </tr>
Ahora, los javascript:
Código:
<?php
	// Generando LISTA DE areas 
	$f_area=mysql_fetch_array($r_area);
	echo "<script language='javascript' type='text/javascript'>".chr(13).chr(10);
	$varaux= "i".$f_area['id_institucion'];
	$cont=0;
	echo "var "."i".$f_area['id_institucion']."=new Array()".chr(13).chr(10);
	echo "i".$f_area['id_institucion']."[$cont] = new slctr('Seleccione Area','N')".chr(13).chr(10);
	$cont++;
	echo "i".$f_area['id_institucion']."[$cont] = new slctr('".trim($f_area['nombre_area'])."','".$f_area['id_area']."')";
	echo chr(13).chr(10);
	$cont++;
	while ($f_area=mysql_fetch_array($r_area))
  	{
		$idarea = "i".$f_area['id_institucion'];
		if ($idarea==$varaux)
			{
				$vcod= "i".$f_area['id_institucion'];
				echo "i".$f_area['id_institucion']."[$cont] = new slctr('".trim($f_area['nombre_area'])."','".$f_area['id_area']."')";
				echo chr(13).chr(10);
				$cont++;
			}
		else
			{
				$varaux= "i".$f_area['id_institucion'];
				echo "var "."i".$f_area['id_institucion']."=new Array()".chr(13).chr(10);
				$cont=0;
				echo "i".$f_area['id_institucion']."[$cont] = new slctr('Seleccione Area','N')".chr(13).chr(10);
				$cont++;
				echo "i".$f_area['id_institucion']."[$cont] = new slctr('".trim($f_area['nombre_area'])."','".$f_area['id_area']."')";
				echo chr(13).chr(10);
				$cont++;
			}
	}
	echo "</script> ".chr(13).chr(10);
?>

<script language='javascript' type='text/javascript'>
function slctryole(cual,donde)
{


	if(cual.selectedIndex != 0)
	{
		donde.length=0
		cual = eval(cual.value)
                for(m=0;m<cual.length;m++)
   		  {
			var nuevaOpcion = new Option(cual[m].texto);
			donde.options[m] = nuevaOpcion;
			if(cual[m].valor != null)
			{
				donde.options[m].value = cual[m].valor
			}
			else
			{
				donde.options[m].value = cual[m].texto
			}
		}
	}
}
</script>

<?php
	// Generando LISTA DE subareas 
	$f_subarea=mysql_fetch_array($r_subarea);
	echo "<script language='javascript' type='text/javascript'>".chr(13).chr(10);
	
	$varaux= "j".$f_subarea['id_area'];
	$cont=0;
	
	echo "var "."j".$f_subarea['id_area']."=new Array()".chr(13).chr(10);
	echo "j".$f_subarea['id_area']."[$cont] = new slctr('Seleccione Area','N')".chr(13).chr(10);
	$cont++;
	echo "j".$f_subarea['id_area']."[$cont] = new slctr('".trim($f_subarea['nombre_subarea'])."','".$f_subarea['id_subarea']."')";
	echo chr(13).chr(10);
	$cont++;
	while ($f_subarea=mysql_fetch_array($r_subarea))
  	{
		$idsubarea = "j".$f_subarea['id_area'];
		if ($idsubarea==$varaux)
			{
				$vcod= "j".$f_subarea['id_area'];
				echo "j".$f_subarea['id_area']."[$cont] = new slctr('".trim($f_subarea['nombre_subarea'])."','".$f_subarea['id_subarea']."')";
				echo chr(13).chr(10);
				$cont++;
			}
		else
			{
				$varaux= "j".$f_subarea['id_area'];
				echo "var "."j".$f_subarea['id_area']."=new Array()".chr(13).chr(10);
				$cont=0;
				echo "j".$f_subarea['id_area']."[$cont] = new slctr('Seleccione Area','N')".chr(13).chr(10);
				$cont++;
				echo "j".$f_subarea['id_area']."[$cont] = new slctr('".trim($f_subarea['nombre_subarea'])."','".$f_subarea['id_subarea']."')";
				echo chr(13).chr(10);
				$cont++;
			}
	}
	echo "</script> ".chr(13).chr(10);
	echo $j;
?>