Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2010, 17:21
Avatar de arielcasanova
arielcasanova
 
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
ayuda con selects combinados y xajax

Gente: investigando en varios foros llegué a armar un select combinado, pero que no funciona. Sí me despliega las marcas, pero no me despliega los modelos de autos cuando elijo la marca (no me devuelve nadie).
Agradezco de antemano a quien pueda echarle un vistazo y darme una mano.

Recién voy por el primer capítulo del libro de ajax que compré y no entiendo un pomo.

ahí va el códigp
Código:
<?php
require('xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);
$host = "localhost"; 
$user= "";
$pass = ""; 
$base = ""; 
$conexion = mysql_connect ($host, $user, $pass);
mysql_select_db ($base, $conexion);
function motor()
{
$consulta = mysql_query ("SELECT marca from marcas order by marca asc");
?>
<select name='motor' id='motor' onChange="xajax_generar_select(document.formulario.motor.options[document.formulario.motor.selectedIndex].value)">";
<option value='0'>Elige</option>
<?
while($registro=mysql_fetch_row($consulta))
{ echo "<option value='".$registro[0]."'>".$registro[0]."</option>"; }
?> </select>
<?
}

function select_combinado($id_motor){
$consulta_mod=mysql_query("SELECT distinct modelo from vehiculos where marca='$id_motor'");

$nuevo_select = "<select name='modelos'>";
$nuevo_select .= '<option value="'. 0 .'">'.Elige.'</option>';
while($registro_mod=mysql_fetch_row($consulta_mod)){
$nuevo_select .= '<option value="' . $registro_mod[0] . '">' . $registro_mod[0] . '</option>';
}
$nuevo_select .= "</select>";
return $nuevo_select;
}

function generar_select($cod_motor){

$respuesta = new xajaxResponse();

if ($cod_motor==0){
$nuevo_select = '<select name="modelos">
<option value=0>Elige Modelo</option>
</select>
';
}else{
$nuevo_select = select_combinado($cod_motor);
}

$respuesta->assign("seleccombinado","innerHTML",$nuevo_select);


return $respuesta;
}


$xajax->registerFunction("generar_select");


$xajax->processRequest();
?>

<html>
<head>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1">
<title>Select Dimamicos con XAJAX</title>
<?
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>
</head>

<body>

<form name="formulario">
Motor:
<br>
<? motor(); ?>
<br>
<br>
Modelos: <div id="seleccombinado">
<select name="modelos">
<option value=0>Elegir motor</option>
</select>
</div>
</form>
</body>
</html>
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar

Última edición por arielcasanova; 11/05/2010 a las 17:55