Tema: Ajax con PHP
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2011, 03:08
floripondio
 
Fecha de Ingreso: enero-2011
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Ajax con PHP

Hola a tod@s,

Estoy intentando anidar dos combos con ajax y php con un ejemplo de un curso que estoy realizando. Llega a completar los dos combos, pero al seleccionar opciones del primero no filtra el segundo, es decir, me lista la tabla completa.

la estructura de la base de datos es

Departamento (1er combo)
------------------

1;Informatica
2;Financiero


Seccion (2º combo)
--------------------
1;Programacion
1;Sistemas
2;Pagos
2;Cobros
2;Nominas

Gracias de antemano por vuestra ayuda.

<script languaje="javascript">

//Cargamos la funcion carga_departamentos() en la etiqueta body
//de la siguiente manera <body onLoad="carga_departamentos()">



function carga_departamentos()
{



//uso de la función ajax Ajax.Request (sirve para hacer una petición ajax)

var param='';
var url='departamentos.php';
var ajaxRequest = new Ajax.Request(
url,
{
method: 'get',
parameters: param,
asynchronous: true,
onComplete: showDpto
});

}

function showDpto(HttpRequest, responseHeader)
{
try{

respuesta=HttpRequest.responseText;
elementos=respuesta.split("<BR>");
if (elementos[0]=='error')
{
error(elementos[1]);
}
else
{
elementos.each( function(elem){
if (elem!='')
{
datos=elem.split(";");
var opt=document.createElement('option');
opt.value=datos[0];
opt.text=datos[1];
document.form1.id_departamento.add(opt);
}

});
carga_secciones();
}
}
catch(e){
alert (e.description);
}
}
function error(descripcion)
{
alert("Se ha producido un error php:\n"+descripcion);
}

function carga_secciones()
{

//Los parámetros los tomo de seccion.php

var param='id_seccion='+$F('id_departamento');
var url='seccion.php';
var ajaxRequest = new Ajax.Request(
url,
{
method: 'get',
parameters: param,
asynchronous: true,
onComplete: showSeccion
});
}

function showSeccion(HttpRequest, responseHeader)
{
document.form1.id_seccion.length=0;

respuesta=HttpRequest.responseText;
elementos=respuesta.split("<BR>");

elementos.each( function(elem){
if (elem!='')
{
datos=elem.split(";");

var opt=document.createElement('option');
opt.value=datos[0];
opt.text=datos[1];
document.form1.id_seccion.add(opt);
}
});
}
</script>