Se puede recargando la página obviamente... pasando el id o lo que sea... por get o post... pero es mejor con ajax, hazlo con jquery y listo.
Código:
<script language="javascript" src="jquery-1.3.2.min.js"></script>
<script language="javascript">
jQuery(document).ready(function(){
jQuery("#provincia").change(function () {
jQuery("#provincia option:selected").each(function () {
elegido=$(this).val();
jQuery.post("localidades.php", { elegido: elegido }, function(data){
jQuery("#localidad").html(data);
});
});
})
});
</script>
dentro de la etiqueta head... y luego en el html:
Código:
<select name='post_provincia' id="provincia">
<option class='provincia-option' value='' selected>Selecciona la provincia</option>
<option class='provincia-option' value='Buenos Aires'>Buenos Aires</option>
<option class='provincia-option' value='Buenos Aires-GBA'>Buenos Aires-GBA</option>
<option class='provincia-option' value='Capital Federal'>Capital Federal</option>
<option class='provincia-option' value='Catamarca'>Catamarca</option>
<option class='provincia-option' value='Chaco'>Chaco</option>
<option class='provincia-option' value='Chubut'>Chubut</option>
<option class='provincia-option' value='Córdoba'>Córdoba</option>
<option class='provincia-option' value='Corrientes'>Corrientes</option>
<option class='provincia-option' value='Entre Ríos'>Entre Ríos</option>
<option class='provincia-option' value='Formosa'>Formosa</option>
<option class='provincia-option' value='Jujuy'>Jujuy</option>
<option class='provincia-option' value='La Pampa'>La Pampa</option>
<option class='provincia-option' value='La Rioja'>La Rioja</option>
<option class='provincia-option' value='Mendoza'>Mendoza</option>
<option class='provincia-option' value='Misiones'>Misiones</option>
<option class='provincia-option' value='Neuquén'>Neuquén</option>
<option class='provincia-option' value='Río Negro'>Río Negro</option>
<option class='provincia-option' value='Salta'>Salta</option>
<option class='provincia-option' value='San Juan'>San Juan</option>
<option class='provincia-option' value='San Luis'>San Luis</option>
<option class='provincia-option' value='Santa Cruz'>Santa Cruz</option>
<option class='provincia-option' value='Santa Fe'>Santa Fe</option>
<option class='provincia-option' value='Santiago del Estero'>Santiago del Estero</option>
<option class='provincia-option' value='Tierra del Fuego'>Tierra del Fuego</option>
<option class='provincia-option' value='Tucumán'>Tucumán</option>
</select>
<select name='post_localidad' id="localidad">
<option class='localidad-option' value='' selected>Selecciona la provincia</option>
</select>
por último necesitas el localidades.php que puse en el script jquery... que es el que pasa las localidades... en tu caso es el que pasaría las asignaturas.
Código:
<?php
unset($rpta);
if ($_POST["elegido"]=="Buenos Aires") {
$rpta='
<option value="">Selecciona una localidad</option>
<option value="A. Alsina">A. Alsina</option>
<option value="A. Gonzáles Cháves">A. Gonzáles Cháves</option>
<option value="Aguas Verdes">Aguas Verdes</option>
';
}
if ($_POST["elegido"]=="Capital Federal") {
$rpta= '
<option value="">Selecciona una localidad</option>
<option value="Agronomía">Agronomía</option>
<option value="Almagro">Almagro</option>
';
}
echo $rpta;
?>
como ves.. esto último es solo un if, para saber que haz elegido... comparando $_POST['elegido'] con los diferentes values de el input.