Buenas, otra vez por aqui...
Tengo un problemon con unos select de tres niveles... todo funciona perfectamente excepto un pequeño detalle pero muy importante, a ver como puedo explicar esto sin liarlo demasiado.
Tres select
Marcas
Modelos
Versiones
Primer select (seleccionas la marca)
Segundo select, te muestra los modelos que corresponden a la marca seleccionada. (seleccionas el modelo)
Aqui esta el problema
Tercer select, te muestra las versiones del modelo seleccionado pero tambien muestra los modelos que no corresponden a la marca selecciona en el primer select.
Dejo el php que creo que es donde esta el error...
Código PHP:
Ver original"Marcas"=>"marcas",
"Modelos"=>"modelos",
"Versiones"=>"versiones"
);
function validaSelect($selectDestino)
{
// Se valida que el select enviado via GET exista
global $listadoSelects;
if(isset($listadoSelects[$selectDestino])) return true; else return false;
}
function validaOpcion($opcionSeleccionada)
{
// Se valida que la opcion seleccionada por el usuario en el select tenga un valor numerico
else return true;
}
$selectDestino=$_GET["select"];
$opcionSeleccionada=$_GET["opcion"];
if(validaSelect($selectDestino) && validaOpcion($opcionSeleccionada))
{
$tabla=$listadoSelects[$selectDestino];
if($tabla=='modelos'){
$consulta=mysql_query("SELECT modelo, descripcion FROM $tabla WHERE marca='$opcionSeleccionada' ORDER BY descripcion ASC") or
die(mysql_error()); // Comienzo a imprimir el select
echo "<select name='".$selectDestino."' id='".$selectDestino."' class='selectForm' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Selecciona una opcion</option>";
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
// Imprimo las opciones del select
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
} elseif ($tabla=='versiones'){
$consulta=mysql_query("SELECT version, nombre FROM $tabla WHERE modelo='$opcionSeleccionada' ORDER BY nombre ASC") or
die(mysql_error()); // Comienzo a imprimir el select
echo "<select name='".$selectDestino."' id='".$selectDestino."' class='selectForm' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Selecciona una opcion</option>";
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
// Imprimo las opciones del select
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}
}
?>