Foros del Web » Programando para Internet » PHP »

Obtener value de select dependiente

Estas en el tema de Obtener value de select dependiente en el foro de PHP en Foros del Web. Buenas, lo primero lo siento si debería haber puesto este post en Ajax pero creo que va en este foro. Ahora mi problema, tengo 2 ...
  #1 (permalink)  
Antiguo 12/05/2008, 16:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 4 meses
Puntos: 0
Obtener value de select dependiente

Buenas, lo primero lo siento si debería haber puesto este post en Ajax pero creo que va en este foro. Ahora mi problema, tengo 2 selects, uno dependiente de otro, el problema que tengo es que según el value de cada select muestro una cosa u otra por pantalla (unas consultas a una BBDD), el problema es que el valor del 2º select no lo obtengo ya que para cargarlo paso los valores a javascript (AJAX) para hacer la llamada posterir al php que me carga el select, ¿alguna manera de poder obtenerlo? he estado buscando en el foro y no he encontrado nada o no lo he sabido buscar...muchas gracias de antemano!
  #2 (permalink)  
Antiguo 12/05/2008, 16:27
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Obtener value de select dependiente

Pero desde un OnChange en el select no funciona ??...

Porque podrias llamar a la funcion javascript desde el OnChange con el dato de this.options[this.selectedIndex].value

Podrias poner el codigo para ver mas claramente cual es la manera de actuar.

Gracias.
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 12/05/2008, 16:35
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Obtener value de select dependiente

Este es el formulario, llamo a la funcion con el selDis() con el onChange en el 1er select,

Código HTML:
<form name="formDefectuoso" id="formDefectuoso" method="post" onSubmit="return comprobar()" action="./Listados/consulta.php">

        <TR>
		<TD>Campo 1:</TD>
		<TD align="left" width="112">
            <SELECT NAME="Campo1" class="tamanoselect10" SIZE="1" onChange="selDis();">
               <OPTION SELECTED></OPTION>
               <OPTION value="1">Ventas</OPTION>
              <OPTION value="2">Compras</OPTION>                              
               <OPTION value="3">Perdidas</OPTION>           
            </SELECT>
		</TD>
        </TR>
		<TR>
		<TD>Campo 2:</TD>
		<TD align="left" width="112">
        	<div id="lista"><select class="tamanoselect10"><option></option></select></div> <!-- select dependiente  -->
		</TD>
		</TR> 
La funcion selDis():
Código:
function selDis()
{
	divResultado = document.getElementById('lista');
	Campo1=document.formDefectuoso.Campo1.value;
	ajax=objetoAjax();
	ajax.open("POST", "./Listados/lista.php",true);
	ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			divResultado.innerHTML = ajax.responseText
		}
	}	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send("Campo1="+Campo1)
}
y el php que me devuelve las opciones segun el 1er select: lista.php, el valor de estos values es lo que tengo que obtener y no se como...

Código PHP:
<?php       
$Campo1
=$_POST['Campo1'];
if (
$Campo1==1){ ?>      
  <SELECT NAME="Campo2" class="tamanoselect10" SIZE="1">
        <option selected>&nbsp;</option> 
        <OPTION value="4">Estilo</OPTION>
        <OPTION value="5">Sello</OPTION>                              
        <OPTION value="6">Referencia</OPTION>
        <OPTION value="7">Cliente</OPTION>
        <OPTION value="8">Artista</OPTION>
    </SELECT>
 <?php 
}elseif($Campo1==2){?>
    <SELECT NAME="Campo2" class="tamanoselect10" SIZE="1">
        <option selected>&nbsp;</option>
        <OPTION value="4">Estilo</OPTION>
        <OPTION value="5">Sello</OPTION>                              
        <OPTION value="6">Referencia</OPTION>
        <OPTION value="7">Distribuidor</OPTION>
        <OPTION value="8">Artista</OPTION>
    </SELECT>
<?php
}else{?>
    <SELECT NAME="Campo2" class="tamanoselect10" SIZE="1">
        <option selected>&nbsp;</option>
        <OPTION value="4">Estilo</OPTION>
        <OPTION value="5">Sello</OPTION>                              
        <OPTION value="6">Referencia</OPTION>
        <OPTION value="8">Artista</OPTION>
    </SELECT>
<?php
}
?>
  #4 (permalink)  
Antiguo 12/05/2008, 17:01
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Obtener value de select dependiente

Pero estas recibiendo un select completo... ese select puedes ponerlo con un innerHTML desde javascript y en vez de tener un select ya armado, pones un div para poner el contenido del inner.

Sino, puedes devolver valores en JSON como:
Código PHP:
$Campo1=$_POST['Campo1'];
switch(
$Campo1){
    case 
1:
        
$arr['4'] = "Estilo";
        
$arr['5'] = "Sello";
        
$arr['6'] = "Referencia";
        
$arr['7'] = "Cliente";
        
$arr['8'] = "Artista";
    case 
2:
        
$arr['4'] = "Estilo";
        
$arr['5'] = "Sello";
        
$arr['6'] = "Referencia";
        
$arr['7'] = "Distribuidor";
        
$arr['8'] = "Artista";
    default:
        
$arr['4'] = "Estilo";
        
$arr['5'] = "Sello";
        
$arr['6'] = "Referencia";
        
$arr['8'] = "Artista";
}
echo 
''.json($arr).''
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 12/05/2008, 17:16
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Obtener value de select dependiente

Ei!!! muchas gracias!!! nunca he utilizado innerHtml ni JSON, me pongo a buscar info y a ver si lo saco que va a ser que si...Gracias otra vez!!!

Pues bueno después de muchos intentos no consigo que funcione, así que he abierto mi duda al innerhtml al foro javascript, aquí les dejo el enlace: http://www.forosdelweb.com/f13/probl...9/#post2401512

Última edición por Kilofafeure; 12/05/2008 a las 19:44
  #6 (permalink)  
Antiguo 14/05/2008, 16:08
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Obtener value de select dependiente

Al final encontré la solución en internet http://www.tunait.com/javascript/ind...asdependientes,
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 04:52.