Hola:
Tengo un problema que no se como resolver. Tengo en la misma pagina dos tablas, una referente a reservas y otra a taxis. El caso es, que he conseguido hacer que dependiendo del identificador de la reserva que elija, me genere el combo de las matriculas de los taxis disponibles para dicha reserva(gracias a un ejemplo hecho que encontre). Ademas de eso me gustaria mostrar la informacion referente de las reservas y taxis en sus correspondientes de forma simultanea.
Parte html:
Código:
......
<table width="45%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#6B7D85" class="texto">
<td width="2%"><div align="center">Id</div></td>
<td width="8%"><div align="center">Dia</div></td>
<td width="5%"><div align="center">Personas</div></td>
<td width="8%"><div align="center">Origen</div></td>
<td width="8%"><div align="center">Destino</div></td>
<td width="8%"><div align="center">Telefono</div></td>
<td width="61%"><div align="center">Cliente</div></td>
</tr>
<tr bgcolor="#5A6970">
<td id="fila_1"><div align="center">
<select name='reservas' id='reservas' onChange='cargaContenido()'>
<option value=" "></option>
<?php include_once 'listaReservas.php'; ?>
</select>
</div></td>
<td id="dia"></td>
<td id="personas"></td>
<td id="origen"></td>
<td id="destino"></td>
<td id="telefono"></td>
<td id="cliente"></td>
</tr>
</table>
.......
<table width="49%" height="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#6B7D85" class="texto">
<td width="20%"><div align="center">Matricula</div></td>
<td width="20%"><div align="center">Conductor</div></td>
<td width="20%"><div align="center">Marca</div></td>
<td width="20%"><div align="center">Modelo</div></td>
</tr>
<tr bgcolor="#5A6970">
<td id="fila_2" height="19"><div align="center">
<select name="vehiculos" size="1" disabled="disabled" id="vehiculos">
<option id="valor_defecto" value="0">Vehiculo...</option>
</select>
</div></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
......
Parte de AJAX:
Código:
<script language="javascript" type="text/javascript">
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function cargaContenido()
{
var valor=document.getElementById("reservas").options[document.getElementById("reservas").selectedIndex].value;
if(valor==0)
{
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto
combo=document.getElementById("vehiculos");
combo.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Vehiculo...";
combo.appendChild(nuevaOpcion); combo.disabled=true;
}
else
{
ajax=nuevoAjax();
ajax.open("GET", "vehiculos_libres.php?seleccionado="+valor, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Elige pais" y pongo una que dice "Cargando"
combo=document.getElementById("vehiculos");
combo.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
combo.appendChild(nuevaOpcion); combo.disabled=true;
}
if (ajax.readyState==4)
{
document.getElementById("fila_2").innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
}
</script>
vehiculos_libres.php al que invoco:
Código:
<?php
$valor=$_GET["seleccionado"];
// Si el numero corresponde a un codigo de pais valido paso a procesar
require_once '../clases/GestionCarrera.php';
$gc=new GestionCarrera();
// Genero la consulta trayendo todos los estados que correspondan al codigo de pais elegido
$consulta=$gc->libres($valor);
// Comienzo a imprimir el select
echo "<select id='vehiculos' name='vehiculos'>";
echo "<option value=\" \"></option>";
for($i=0;$i<count($consulta);$i++)
{
// Paso a HTML acentors y ñ para su correcta visualizacion
// Imprimo las opciones del select
echo "<option value='".$consulta[$i]->getVehiculo()."'>".htmlentities($consulta[$i]->getVehiculo())."</option>";
}
echo "</select>";
?>
Ahora quiero que aparte de esto, si he elegido el identificador de reserva 1 me muestre la informacion de dicha reserva en la tabla: fecha,num personas,...
Gracias de antemano.