Código PHP:
Ver original
<?php #Autor Gerardo Aquino Lopez #select dependientes con pdo y xajax require("./xajax/xajax_core/xajax.inc.php");#incluyo xajax include_once("../connpdo/connpdo.php");#mi conexion con pdo $xajax=new xajax();#creo el objeto $xajax->configure('javascript URI','xajax');#defino el path del javascript de la libreria xajax /****************************funcion malevola********************************************/ function estados($id_pais) { global $conn;#globalizo la conexion $objResponse = new xajaxResponse();#creo mo objeto response $sql = "SELECT `id`,`opcion` FROM `lista_estados` where relacion='$id_pais'";#query con el id del pais $query = $conn->query($sql); /******************armado del segundo select dependiente***************************/ $html.="<label for='estado'>Estado:</label>"; $html.="<select name='estado' id='estado'>"; while( $fila = $query->fetch(PDO::FETCH_ASSOC) ){ $html.="<option value='{$fila['id']}'>{$fila['opcion']}</option>"; } $html.="</select>"; $objResponse->assign('divestado','innerHTML',$html);#metodo assign al div que contendra el segundo select return $objResponse; } $xajax->register(XAJAX_FUNCTION,'estados');#registrado de la funcion malevola $xajax->processRequest();#manejo magico del ajax ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Select dependientes con xajax</title> <?php $xajax->printJavascript(); #impresion del javascript necesario?> </head> <body> <label for="paises">Paises:</label> <?php $sql = "SELECT `id` , `opcion` FROM `lista_paises`"; $query = $conn->query($sql); ?> <!--aqui llamo a la funcion registrada en xajax--> <select name="paises" id="paises" onchange="xajax_estados(this.value);"> <?php while( $fila = $query->fetch(PDO::FETCH_ASSOC) ){ ?> <option value="<?php echo $fila["id"] ?>"><?php echo $fila["opcion"] ?></option> <?php } ?> </select> <!--aqui va a estar el segundo select que cambiara--> <div id="divestado"> <label for="estados">Estados:</label> <select name="estados" id="estados"> <option value=""></option> </select> </div> </body> </html>