Foros del Web » Programando para Internet » ASP Clásico »

cargar combox segun opcion.

Estas en el tema de cargar combox segun opcion. en el foro de ASP Clásico en Foros del Web. hola a todos, tengo la siguiente problematica y esque tengo un combo, con distintas categorias y dependiendo lo que se seleccione se carga el combo2 ...
  #1 (permalink)  
Antiguo 27/06/2006, 15:31
 
Fecha de Ingreso: noviembre-2004
Mensajes: 371
Antigüedad: 19 años, 7 meses
Puntos: 0
cargar combox segun opcion.

hola a todos, tengo la siguiente problematica y esque tengo un combo, con distintas categorias y dependiendo lo que se seleccione se carga el combo2 con los productos de esa categoria,

tengo lo siguiente: asi cargo el primer combo

<select name="linea">
<option value="123" selected>Linea de productos</option>
<% while not rsCarga.eof %>
<option value="<%=rsCarga("codigoLinea")%>"><%=rsCarga("no mbreLinea")%></option>
<% rsCarga.movenext
wend %>
</select>

pero no se como hacer para cargar el otro automaticamente, se que tiene que ser una funcion js, pero se carga de la base de datos, osea con el codigo que mando del combo de arriba, hago una query y se llena el combo2.


si alguien me puede ayudar, desde ya se le agradese...
  #2 (permalink)  
Antiguo 27/06/2006, 15:59
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 2 meses
Puntos: 37
busca listas dependientes o enlazadas, hay mucha informacion al respecto
  #3 (permalink)  
Antiguo 27/06/2006, 16:26
 
Fecha de Ingreso: noviembre-2004
Mensajes: 371
Antigüedad: 19 años, 7 meses
Puntos: 0
DEPENDIENTES... tengo una lista de categorias, las cuales tienen n productos asosiados...

depende la categoria, hago una query y lista los productos.
  #4 (permalink)  
Antiguo 27/06/2006, 16:46
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 2 meses
Puntos: 37
//primero llenas un arreglo de javascript con asp

<script language="JavaScript" type="text/JavaScript">
function llena_lista(){
var prog=new Array();
<%
do while not rs.eof%>
//prog[<%=k%>]=[<%=k%>,"<%=rs("id_prog")%>",<%=rs("id_estado")%>," <%=rs("dsc_estado")%>","<%=rs("id_prog")%>"+" "+"<%=rs("dsl_programa")%>"];
<%
k=k+1
rsextens.movenext
loop
%>
prog[<%=k%>]=[<%=k%>,"TODOS",0,"TODOS","TODOS"];

//Ya esta lleno el arreglo con asp
//lo que resta es javascript

// vacias primero tu combobox que vas a llenar
document.frm2.pg_estado.length=1;

//recorres todo el arreglo preguntando por el id que seleccionaste
for(i=0 ; i<prog.length ; i++){
//si se cumple que el id que seleccionaste es = auno de tu arreglo lo agregas a la lista
if(prog[i][1]==document.frm2.adm_prog.options[document.frm2.adm_prog.selectedIndex].value){
document.frm2.pg_estado.length++;

document.frm2.pg_estado.options[document.frm2.pg_estado.length-1].value=prog[i][2];
document.frm2.pg_estado.options[document.frm2.pg_estado.length-1].text=prog[i][3];

}
}

y al final
en tu select pones el evento de javascript onChange="funcion de javascript();"


bueno espero y le entiendas al código jejeje
por cierto esto es bueno cuando no son muchos registros ya que le mandas toda la tabla al cliente, para evitar eso debes de recargar la pagina una vez seleccionado la categoria o usar AJAX para recargar solo el combo



bye

saludos
  #5 (permalink)  
Antiguo 28/06/2006, 02:47
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
en las FAQ hay un ejemplo .
  #6 (permalink)  
Antiguo 28/06/2006, 09:11
 
Fecha de Ingreso: noviembre-2004
Mensajes: 371
Antigüedad: 19 años, 7 meses
Puntos: 0
bueno me meti a ver el post y tengo lo siguiente, haciendo las modificaciones pertinentes...

<script language="JavaScript">

function addOpt(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}

function cambia(oCntrl){

var indice = document.form5.linea.selectedIndex;
var valor = document.form5.linea.options[indice].value;


switch (valor)
{
<% set rs=server.CreateObject("adodb.recordset")
sql="select id_producto,codigoProd,nombreProd from producto"
rs.Open sql, conexion, 3, 3
while not rs.eof %>
case '<%=rs("codigoProd")%>'
addOpt(oCntrl, 0, "<%=rs("nombreProd")%>", "<%=rs("codigoProd")%>");
break;
}
<% rs.movenext
wend %>
}
}
</script>


en el codigo html, el combo que cargo con otra query para cargarlo y mandar el valor que cargara con otra query el otro combo es el siguiente.

<select name="linea" onChange="cambia(document.form5.product)">
<option value="123" selected>Linea de productos</option>
<% while not rsCarga.eof %>
<option value="<%=rsCarga("codigoLinea")%>"><%=rsCarga("no mbreLinea")%></option>
<% rsCarga.movenext
wend %>
</select>

y por ultimo el combo que sera cargado desde js

<select name="select2" name="product">
<option value="123">Seleccione un Producto</option>
</select>

Última edición por bitshoot; 29/06/2006 a las 08:38
  #7 (permalink)  
Antiguo 29/06/2006, 08:37
 
Fecha de Ingreso: noviembre-2004
Mensajes: 371
Antigüedad: 19 años, 7 meses
Puntos: 0
goteen_mx me podrias explicar que es esto... y si le hechas una mirada al codigo que deje un poco mas arriba, este me manda solo una opcion (es decir si tengo 3 productos de una categoria me muestra solo el primero)

//prog[<%=k%>]=[<%=k%>,"<%=rs("id_prog")%>",<%=rs("id_estado")%> ," <%=rs("dsc_estado")%>","<%=rs("id_prog")%>"+" "+"<%=rs("dsl_programa")%>"];
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 01:31.