Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/10/2009, 15:15
lexmaniak
 
Fecha de Ingreso: octubre-2009
Mensajes: 14
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Combobox dependientes con valores por default ambos

Bueno pues antes una disculpa por no darme a entender jeje es solo que soy nuevo expresando problemas de programacion.

Bueno como te decia yo utilizo el javascript con la funcion sublista para llenar el segundo combobox dependiente con el metodo onchange que tiene el primer select.

A partir de este al seleccionar una opcion me llena el segundo combobox con elementos que toma con el llenado de un arreglo que muestro a continuacion:

Código:
function sublista(inform, selecteditem){
            inform.subcatagory.length = 0

        <%
         dim count
            count= 0
            y=0
            do while not rs_ncom.eof
        %>

            x = <%= trim(y) %>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
            subcat = new Array();
            //en subcatagorys lleno con los elementos creados a partir de la consulta
            subcatagorys = "<%=replace(rs_ncom("str_nombcomdr"),"""","\""")%>";
            //subcatagoryof aqui capto el segundo parametro de la funcion sublista
            subcatagoryof = "<%=replace(rs_ncom("id_zonacomdr"),"""","\""") %>";
            //y por ultimo  subcatagoryid asigna el id del elemento de la sublista 
            subcatagoryid = "<%=replace(rs_ncom("id_comedor"),"""","\""") %>";
            subcat[x,0] = subcatagorys; 
            subcat[x,1] = subcatagoryof;
            subcat[x,2] = subcatagoryid;
            
            if (subcat[x,1] == selecteditem) {
            var option<%= trim(count) %> = new Option(subcat[x,0], subcat[x,2]);//en esta seccion creo el nuevo combobox 
            inform.subcatagory.options[inform.subcatagory.length]=option<%= trim(count)%>;
            
            }
EJEMPLO:

Tengo los datos

Nombre Generacion Grupo Equipo Zona comedor Comedor
Luis alejandro chimal 2007-2009 A 2 Casco Aguascalientes

En la pantalla actualizar se abre con los combo box que poseen la informacion anterior

Del campo nombre a Zona comedor inicializa los valores correctamente al usar la siguiente sentencia:

Código:
<%
        dim rsCatalogo
        set rsCatalogo = server.CreateObject("ADODB.Recordset")
		Sql = "select id_grupo, Nombre from c_gruposca where id_grupo in (2,3,4)"
 		rsCatalogo.Open Sql, condb%>
         <select size="1" name="Grupo" style="font-family: Verdana; font-size: 8pt;width:100px; vertical-align:middle;">
           <option value="" >---</option>
           <%While Not rsCatalogo.EOF%>
           <option value="<%=rsCatalogo("Nombre").Value%>" <% If (rsCatalogo("Nombre"))=(rs("Grupo")) Then %> <% Response.Write "Selected" %><%End If%>><%=rsCatalogo("Nombre").Value%></option>
           <%
			rsCatalogo.MoveNext
		Wend
		rsCatalogo.Close
		%>
         </select>
El texto subrayado de rojo hace una comparacion del valor que tiene el catalogo que llena los combobox contra la informacion que proviene del query principal es decir hago una comparacion de un query primario con los datos de la persona contra un query secundario que funciona como catalogo, cuando son iguales escribe selected en la opcion correspondiente.

dicha funcion solo la puedo aplicar comparando catalogo contra query principal pero en el java script no lo puedo inicializar

Todos los valores se inician correctamente en la pantalla update menos en el campo comedor por ser el combo dependiente del combo de campo Zona comedor. El problema radica en el javascript que anexo, algo asi aparece en mi pantalla:

Nombre Generacion Grupo Equipo Zona comedor Comedor
Luis alejandro chimal 2007-2009 A 2 Casco Argentina
Cuando la informacion correcta deberia ser como aparece en el ejemplo de arriba.

Si pudieran ayudarme estaria super agradecido