Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Mostrar informacion a la vez que hacer combos dependientes¡¡¡¡

Estas en el tema de Mostrar informacion a la vez que hacer combos dependientes¡¡¡¡ en el foro de Frameworks JS en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/04/2006, 15:33
 
Fecha de Ingreso: abril-2006
Mensajes: 1
Antigüedad: 18 años
Puntos: 0
Mostrar informacion a la vez que hacer combos dependientes¡¡¡¡

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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:08.