Foros del Web » Programando para Internet » Javascript »

3 Combos Dependientes

Estas en el tema de 3 Combos Dependientes en el foro de Javascript en Foros del Web. Hola a todos Bueno esto es para tratar sobre uno de los temas relacionados con los Combos Dependientes o Listas Desplegables Dependientes. El problema que ...
  #1 (permalink)  
Antiguo 09/09/2004, 13:47
 
Fecha de Ingreso: octubre-2003
Ubicación: Dominican Republic
Mensajes: 25
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta 3 Combos Dependientes

Hola a todos

Bueno esto es para tratar sobre uno de los temas relacionados con los Combos Dependientes o Listas Desplegables Dependientes.

El problema que tengo es con un codigo de 3 combos que fue posteado aqui por Lethe en fecha de 27-05-2003 voy a colocar el código y voy a marcar mi problema para ver si alguien ha utilizado este codigo me diga que tengo mal.


Código:
<script language = "JavaScript">

//-------------------------------------
//--Para Crear los Combos para Grupos y Sub-Grupos
//-------------------------------------
function Tupla(campo1,campo2)
{
	this.campo1 = campo1;
	this.campo2 = campo2;	
}

<%
'=======================================================

'---Vamos a crear nuestros arrays de "GRUPOS" desde ASP
'---El primer if detecta un cambio en el "INVENTARIO" para
'---crear un nuevo array en Javascript

'--------------------------------------
'			Query de Grupos
'--------------------------------------

Set Connect = CreateObject("ON_SRP_INV.grupos")
CondicionError
Set Recordset = Connect.GetRecords("1=1", "cod_inv, cod_grupo")

cuenta = 0
cat = "basura"

While Not Recordset.EOF

	If cat <> Recordset.Fields("cod_inv") then
		'--- Cambio de Inventario, empiezo a contar en 0 ---
		cuenta = 0
		cat = Recordset.Fields("cod_inv")

'========================================================
%>
	//Además tengo que crear un nuevo array para los Grupos
	var opciones<%=cat%> = new Array();

<%
'========================================================
	End If
'========================================================
%>

	opciones<%=cat%>[<%=cuenta%>]=new Tupla("<%=Recordset.Fields("nombre")%>","<%=Recordset.Fields("cod_grupo")%>");

<%
'========================================================

	cuenta = cuenta + 1
	Recordset.MoveNext
	
Wend

'========================================================

'--- Limpiamos Objetos ---
Recordset.Close
Set Recordset = Nothing
Set Connect = Nothing

'========================================================

'----------------------------------
'		Query de Sub Grupos
'----------------------------------

Set Connect = CreateObject("ON_SRP_INV.subgrupos")
CondicionError
Set Recordset = Connect.GetRecords("1=1", "cod_grupo, cod_subgrupo")

count = 0
cod = "basura"
			
While Not Recordset.EOF

	If cod <> Recordset.Fields("cod_grupo") then
		'--- Cambio de Grupos, empiezo a contar en 0 ---
		count = 0
		cod = Recordset.Fields("cod_grupo")

'========================================================
%>
		//Además tengo que crear un nuevo array para los SubGrupos
		var MatrizMetr<%=cod%> = new Array();
<%
'========================================================
	End If
'========================================================
%>

	MatrizMetr<%=cod%>[<%=count%>]=new Tupla("<%=Recordset.Fields("nombre")%>","<%=Recordset.Fields("cod_subgrupo")%>");
	
<%
'========================================================

	count = count + 1		
	Recordset.MoveNext
	
Wend

'========================================================

'--- Limpiamos Objetos ---
Recordset.Close
Set Recordset = Nothing
Set Connect = Nothing

'========================================================
%>

// Declaración de variable
var contador;

//--------------------------------------------------
// Función que compone dos (2) Listas Dependientes
//--------------------------------------------------
function ComponerLista(array) 
{
	// Limpia opciones del select
	BorrarLista();
	
	// Asigna bandera de cantidad de registro del sql proyecto (1=hay registros 0=no hay)
	cantReg = <%=noRecord%>
	
	// Verifica si hay registros del combo padre
	if (cantReg==0) {
	
		// Despliega el tag <Input> en campo Grupo y SubGrupo
		document.forms.buscar.txtgrupo.style.display = "";	
		document.forms.buscar.txtsubgrupo.style.display = "";		
		}
	else
		{
		// Despliega el tag <Select> en Campo Grupo y SubGrupo
		document.forms.buscar.codgrupo.style.display = "" ;		
		document.forms.buscar.codsubgrupo.style.display = "" ;	
		
		// Compone la lista dependiente a partir
		// del valor de la opcion escogida en la lista "padre"
		// Evalua el array "opciones" creado en tupla
		array = eval("opciones" + array);			
		for (contador = 0; contador < array.length; contador++) 
			{
			// Añade elementos al combobox correspondiente a Grupo
			var optionObj = new Option( array[contador].campo1, array[contador].campo1);
			buscar.codgrupo.options[contador] = optionObj;								
			} 
		
		// Asigna el Codigo de SubGrupo de la nueva opción seleccionada
		subgrupocod = document.forms.buscar.codsubgrupo.options[document.forms.buscar.codsubgrupo.selectedIndex].value;
		
		// Compone la lista dependiente a partir
		// del valor de la opcion escogida en la lista "padre"
		// Evalua el array "MatrizMetr" creado en tupla
		Metr = eval("MatrizMetr" + subgrupocod);		
		for (contador = 0; contador < Metr.length; contador++) 
		{
			// Añade elementos al combobox correspondiente a Sub Grupo
			var optionObj1 = new Option( Metr[contador].campo2, Metr[contador].campo2 );
			buscar.codsubgrupo.options[contador] = optionObj1;					
		} 				
		}					
} 


//-----------------------------------
// Función que limpia las opciones 
// de los combos dependientes
//-----------------------------------
function BorrarLista() 
{
	buscar.codgrupo.length = 0;
	buscar.codsubgrupo.length = 0;
}

//Inicializamos
ComponerLista (document.forms.buscar.codinventario.value);

-->
</script>

Lo que esta marcado en negritas es el problema que tengo, cuando cargo mi pagina me da un error de javascript que es el siguiente:

Object doesn't support this property or method

este error me sale desde un principio y el 3er combo no se me llena con lo seleccionado en el 2do combo.

Gracias de Antemano
__________________
Evil is what I am, Death is what i bring!!!!
-= Gouki =-
  #2 (permalink)  
Antiguo 09/09/2004, 13:50
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años
Puntos: 4
Cual es el problema con ASP ?
  #3 (permalink)  
Antiguo 09/09/2004, 14:15
 
Fecha de Ingreso: octubre-2003
Ubicación: Dominican Republic
Mensajes: 25
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno fue k me falto algo en el primer mensaje, el prob. no esta en el ASP, es el javascript, y publique esto en el foro de ASP fue porque aqui consegui el codigo, para ver si alguien ha puesto a trabajar este codigo 100% para ver si me corrigen algo k tenga mal.
__________________
Evil is what I am, Death is what i bring!!!!
-= Gouki =-
  #4 (permalink)  
Antiguo 09/09/2004, 14:16
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años
Puntos: 4
ah !!!!

Bueno esperemos que alguien más te ayude.
  #5 (permalink)  
Antiguo 09/09/2004, 14:30
 
Fecha de Ingreso: octubre-2003
Ubicación: Dominican Republic
Mensajes: 25
Antigüedad: 20 años, 6 meses
Puntos: 0
Ojala, por que e visto tantos codigos y este es al que mas le puedo trabajar.
__________________
Evil is what I am, Death is what i bring!!!!
-= Gouki =-
  #6 (permalink)  
Antiguo 09/09/2004, 15:27
 
Fecha de Ingreso: agosto-2002
Mensajes: 301
Antigüedad: 21 años, 9 meses
Puntos: 2
Sabes tengo un codigo que hace lo mismo, con la diferencia que no submita a la pagina cada vez que desea cambiar la opcion del select padre

El "limitante" que posee es la cantidad de opciones que posea el select hijo
pero eso es a gusto de cada uno

si te interesa me avisas y posteo el codigo
  #7 (permalink)  
Antiguo 10/09/2004, 07:42
 
Fecha de Ingreso: octubre-2003
Ubicación: Dominican Republic
Mensajes: 25
Antigüedad: 20 años, 6 meses
Puntos: 0
vito_gris, si pudieras postearlo, te lo agradeceria mucho.

Gracias de Antemano
__________________
Evil is what I am, Death is what i bring!!!!
-= Gouki =-
  #8 (permalink)  
Antiguo 14/09/2004, 09:10
 
Fecha de Ingreso: octubre-2003
Ubicación: Dominican Republic
Mensajes: 25
Antigüedad: 20 años, 6 meses
Puntos: 0
.................
__________________
Evil is what I am, Death is what i bring!!!!
-= Gouki =-
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:51.