Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2011, 08:01
ramiromd
 
Fecha de Ingreso: agosto-2010
Mensajes: 100
Antigüedad: 14 años, 2 meses
Puntos: 2
Primeros pasos con Xajax, no hago funcionar una lista dependiente

Buenas, como ya indica el título, estoy viendo esto de Ajax. Mediante esta web me tope con una librería PHP llamada Xajax, para utilizar esta técnica (Ajax).
Encontré un tutorial que hablaba de una lista de Provincias y otra de Localidades de esas provincias.
En base a ese tuto, quise hacer algo parecido, pero con una lista de Marcas de autos y otra con los respectivos modelos. En base a información que tengo en un bd.
Por empezar el codigo php es el siguiente:

form_generate.php
Código PHP:
require ('includes/php/xajax/xajax.inc.php');

//instanciamos el objeto de la clase xajax
$xajax = new xajax(); 
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();

$xajax->printJavascript('includes/php/xajax/');

function 
selectMarcas(){
    
$query "SELECT m.idMarca, m.Marca FROM Marcas m";
    
$res mysql_query($query) or die(mysql_error());
    while (
$row mysql_fetch_array($res)){
            
$idMarca $row[0];
            
$nomMarca $row[1]; 
            echo 
"<option value=$idMarca>".$nomMarca."</option>";
    }
}

function 
selectMod($id){
    
$respuesta = new xajaxResponse('ISO-8859-1');
    
$query "SELECT m.Modelo FROM Modelos m WHERE m.idMarca = $id";
    
$res mysql_query($query) or die(mysql_error());
    while (
$row mysql_fetch_array($res)){
            
$select .= "<option>".$row[0]."</option>";
    }
    
$respuesta->addAssign("mod","innerHTML",$select);
    return 
$respuesta;
}
$xajax->registerFunction("selectMod");
$xajax->processRequests();

?> 
El HTML esta así:

busc_form.php
Código HTML:
Ver original
  1. <?php
  2. /*
  3. *      Form del buscador!  
  4. */
  5. include_once('includes/php/libs/conectar.php');
  6. include_once('includes/php/libs/form_generate.php');
  7. $link = conectar();
  8. ?>
  9.  
  10. <select id="marca" name="marca" class="search" onclick="xajax_selectMod(document.search.marca.selectedIndex)">
  11.     <option>Todas</option>
  12.     <?php selectMarcas(); ?>
  13. <select id="mod" name="mod" class="search">
  14.                     </select>

El problema es que si bien las marcas se cargan bien, cuando clickeo sobre una, no me cargan sus modelos.
El log de errores de PHP no devuelve nada. Si me aparece ningún alert de js!.
Alguna sugerencia?
Desde ya muchas gracias.