JavaScript - problema con combos anidados y base de datos

   
Vista:

problema con combos anidados y base de datos

Publicado por MAYscript (1 intervención) el 03/03/2011 11:52:11
Hola amig@s.
Tengo un gran problema con los combos anidados y no encuentro la solución. Trabajo con php y ajax, con el framework xajax. Pero el problema me lo da javascript al no recargar la página en cada llamada a la modificación.

A ver, cargo un menú en el div contenedor(div derecho) pulsando un botón del div menú(en el lado izquierdo). Ésto lo hago con php y ajax(xajax).

En el nuevo menú derecho tengo 2 radio button y elijo el de modificar.
Tengo 2 combos anidados (tipo de usuario-que obtengo de la base de datos-, sexo-que hago un select con valores 0 y 1-, centro-combo anidado que se carga de la base de datos según el tipo de usuario y el sexo- y servicios-que se carga de la base de datos según el estilo-).
Al lado de cada combo(menos el de sexo) tengo un input text para modificar el nombre de la opción elegida.

Pongamos centro, elijo centro y quiero cambiar el nombre 'centro especial' por 'centro especial de la comunidad'. La modificación se realiza correctamente, yo en la base de datos veo que ''centro especial' ha cambiado a ''centro especial de la comunidad'.
Si vuelvo a llamar a modificar usuario sin haber recargado la página o quiero volver a modificar ese campo los cambios no se han actualizado y en el combo sigue apareciéndome 'centro especial'.

El script que uso para rellenar los combor es:

function rellenaInstitucionesConf(id_usuario, sexo)
{
document.fConfigura.centros.length=0;
document.fConfigura.centros.options[0] = new Option("","","defaultSelected","");
var indice=1;
<?
$conexion = conectar();
$sql_centros = "SELECT * from centros";
$rs_centros = mysql_query($sql_centros, $conexion);
if(mysql_num_rows($rs_centros)>0)
{
while($row_centro = mysql_fetch_assoc($rs_centros))
{

?>
if(id_usuario=='<?=$row_centro["id_usuario"]?>' && sexo=='<?=$row_centro["id_sexo"]?>' )
{
document.fConfigura.centros.options[indice] = new Option("<?=$row_centro["nombre_centro"]?>","<?=$row_centro["id_centro"]?>");
indice++;
}
<?
}
}
?>
};

Sabeis a qué puede ser debido esto? a que guarda los datos en la caché después de la primera llamada que se hace??

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder