Creando una web, me he encontrado con una cosa muy coriosa, coloca varios options, y funciona el primero pero no los demas:
Option1:
Código:
<select name='paises' id='paises' onChange='cargaContenido(this.id)' ><option value='1,2,Bull Terrier' selected>Perros</option><option value='2,2,Bull Terrier'>Gatos</option></select></div>
Este option llama en el OnChange a este contenido:
Código:
<?php
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido
$opcionSeleccionada=$_GET["opcion"];
//echo "total=" .$opcionSeleccionada;
$cosa = substr($opcionSeleccionada, 0, 1);
$cosa1 = substr($opcionSeleccionada, 2, 1);
$cosa2 = substr($opcionSeleccionada, 4);
$opcionSeleccioanda = $cosa;
$taman = $cosa1;
$raz = $cosa2;
$listadoSelects=array(
"paises"=>"Tipos",
"estados"=>"listarazas"
);
$selectDestino=$_GET["select"];
$tabla=$listadoSelects[$selectDestino];
$conexion = mysql_connect(');
mysql_select_db();
$consulta=mysql_query("SELECT id, opcion FROM $tabla WHERE relacion='$opcionSeleccionada' order by opcion") or die(mysql_error());
mysql_close($conexion);
// Comienzo a imprimir el select
echo "Raza";
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
if ($tabla == "listarazas"){
echo "<option value='TODOS'>TODOS</option>";
}
// echo "Raza = " .$raz;
$registro[1]=htmlentities($registro[1]);
while($registro=mysql_fetch_row($consulta))
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
//$registro[1]=htmlentities($registro[1]);
// Imprimo las opciones del select
if ($raz == $registro[1]){
echo "<option value='".$registro[0]."' selected>".$registro[1]."</option>";
}
else
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
}
echo "</select>";
echo "Tamaño";
if ($opcionSeleccionada == 1){
echo "<select name='tamaño' id='tamaño'>";
?>
<option value='Enano'
<?php
if ($taman == 0){
echo "selected";
}?>
>Enano</option>
<option value='Pequeño'
<?php
if ($taman == 1){
echo "selected";
}?>
>Pequeño</option>
<option value='Mediano'
<?php
if ($taman == 2){
echo "selected";
}?>
>Mediano</option>
<option value='Grande'
<?php
if ($taman == 3){
echo "selected";
}?>
>Grande</option>
<option value='Muy Grande'
<?php
if ($taman == 4){
echo "selected";
}?>
>Muy Grande</option>
<?php
echo "</select>";
}
elseif ($opcionSeleccionada == 2){
echo "<select name='tamaño' id='tamaño'>";
?>
<option value='Mediano'
<?php
if ($taman == 0){
echo "selected";
}?>
>Mediano</option>
<option value='Grande'
<?php
if ($taman == 1){
echo "selected";
}?>
>Grande</option>
<?php
echo "</select>";
}
?>
Option2:
Código:
<select name='paises2' id='paises2' onChange='cargaContenido(paises2)' >
Este otro option llama a este contenido:
Código:
<?php
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido
$opcionSeleccionada=$_GET["opcion"];
//echo "total=" .$opcionSeleccionada;
$cosa = substr($opcionSeleccionada, 0, 1);
$cosa1 = substr($opcionSeleccionada, 2, 1);
$cosa2 = substr($opcionSeleccionada, 4);
$opcionSeleccioanda = $cosa;
$taman = $cosa1;
$raz = $cosa2;
$listadoSelects=array(
"paises2"=>"Tipos",
"estados2"=>"listarazas"
);
$selectDestino=$_GET["select"];
$tabla=$listadoSelects[$selectDestino];
$conexion = mysql_connect();
mysql_select_db();
$consulta=mysql_query("SELECT id, opcion FROM $tabla WHERE relacion='$opcionSeleccionada' order by opcion") or die(mysql_error());
mysql_close($conexion);
// Comienzo a imprimir el select
echo "Raza";
$selectDestino = "estados2";
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
if ($tabla == "listarazas"){
echo "<option value='TODOS'>TODOS</option>";
}
// echo "Raza = " .$raz;
$registro[1]=htmlentities($registro[1]);
while($registro=mysql_fetch_row($consulta))
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
//$registro[1]=htmlentities($registro[1]);
// Imprimo las opciones del select
if ($raz == $registro[1]){
echo "<option value='".$registro[0]."' selected>".$registro[1]."</option>";
}
else
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
}
echo "</select>";
echo "Tamaño";
if ($opcionSeleccionada == 1){
echo "<select name='tamaño2' id='tamaño2'>";
?>
<option value='Enano'
<?php
if ($taman == 0){
echo "selected";
}?>
>Enano</option>
<option value='Pequeño'
<?php
if ($taman == 1){
echo "selected";
}?>
>Pequeño</option>
<option value='Mediano'
<?php
if ($taman == 2){
echo "selected";
}?>
>Mediano</option>
<option value='Grande'
<?php
if ($taman == 3){
echo "selected";
}?>
>Grande</option>
<option value='Muy Grande'
<?php
if ($taman == 4){
echo "selected";
}?>
>Muy Grande</option>
<?php
echo "</select>";
}
elseif ($opcionSeleccionada == 2){
echo "<select name='tamaño2' id='tamaño2'>";
?>
<option value='Mediano'
<?php
if ($taman == 0){
echo "selected";
}?>
>Mediano</option>
<option value='Grande'
<?php
if ($taman == 1){
echo "selected";
}?>
>Grande</option>
<?php
echo "</select>";
}
?>
Hay que tener en cuenta, que entre uno y otro, ejecuto este Script:
Código:
document.getElementById("paises(numeroquecorresponda").onchange();
Pero ni el script ni yo, consiguen que funcione el option2. ¿Alguna sugerencia?
Para que lo veais todavia mas claro, esta seria la pagina del
Option1
y esta otra la del
Option2
Debe de ser alguna cosa tonta, nombre, etc.
En paginas separadas funciona, pero las 2 cosas integradas en la misma no.
Muchas gracias