No he visto mucho el codigo de tu web. Con lo que yo te pase, simplemente tienes que tener un archivo externo en el que metes el codigo que quieras para recuperar lo que se te carga en el segundo select.
Yo en tu caso, lo que haria seria tener una capa oculta con el 2º select creado pero sin contenido.
Añades la funcion esa que te puse antes y cuando la ejecutes, llamas a la funcion "mostrarcapa" para que te muestre el select. Se que seguramente sea un poco / bastante cutre, pero no se me ocurre otra manera mas facil de hacerlo ya que tampoco se mucho :S
Yo lo que hago es esto:
FUNCION JQUERY:
<script>
jQuery.noConflict ()
jQuery(document).ready(function()
{
jQuery ("#select1").change(function()
{
jQuery("#select2").find('option').remove();
jQuery .post("url_del_.php",{ id:jQuery (this).val() },function(data){
jQuery ("#select2").append(data);
})
});
})
</script>
INDEX.PHP
. . . . .
funcion jquery
. . . . .
. . . . .
<select id="select1">
<option value=1>Opcion 1 </option>
<option value=2>Opcion 2 </option>
<option value=3>Opcion 3 </option>
</select>
<select id="select2">
<option value="">Aqui se rellena el select2</option>
</select>
URL AL QUE LLAMA JQUERY
$id= $_REQUEST["id"];
$cnx = conectar ();
$sql="SELECT ID,town FROM towns WHERE country=$id ORDER BY town ASC;";
$res= mysql_query("$sql");
mysql_close($cnx);
$texto='<option value="">Select</option>';
if ($id!="")
{
if( mysql_num_rows($res) >0)
{
while (list($id,$valor) = mysql_fetch_array($res))
{
if ($valor !=$seleccionado)
{
$texto.= '<option value="'.$valor.'">'.$valor."</option>\n";
}
else
{
$texto.= '<option selected value="'.$id.'">'.$valor."</option>\n";
}
}
}
}
echo $texto;
return;
Es un codigo que use para el proyecto de fin de curso y no me ha dado ningun problema. Se podra depurar bastante (o eso creo) pero para lo que lo quiero funciona asi que ya se depurara mas adelante xD