combo en asp

28/11/2005 - 18:14 por sandra | Informe spam
Hola a todos!!
Estoy haciendo una página web en asp de productos de informática en la que
he puesto un combo con todas las categorías y debajo una tabla donde se ven
los productos. Me gustaría que saber cómo puedo hacer para que al
seleccionar una categoria me muestre en la tabla sólo los productos
correspondientes.

Muchas gracias con antelación

Preguntas similare

Leer las respuestas

#1 Lakrom
28/11/2005 - 19:13 | Informe spam
Por lo que entiendo deseas cargar la tabla la misma pagina donde ya esta
contenido el combo, bueno lo primero es crear una subrutina que valide
cuando cambia el valor Value de combo y cargas el contenido correspondiente
en una tabla generada por response.write.
Para saber como cargar el contenido se me ocurre que en los Options de tu
combo le das valor Value el ID correspondiente a la categoría de los
productos.
Si no me he explicado bien te puedo enviar un ejemplo que usa una BD
SQLServer.
Saludos.

"sandra" escribió en el mensaje
news:
Hola a todos!!
Estoy haciendo una página web en asp de productos de informática en la que
he puesto un combo con todas las categorías y debajo una tabla donde se
ven los productos. Me gustaría que saber cómo puedo hacer para que al
seleccionar una categoria me muestre en la tabla sólo los productos
correspondientes.

Muchas gracias con antelación


Respuesta Responder a este mensaje
#2 sandra
28/11/2005 - 20:00 | Informe spam
Sí que entiendo a lo que te refieres, ya lo he intentado, el problema es que
no sé cómo decirle en el evento onchange del combo que me vuelva a cargar la
página con el nuevo valor.
Gracias
Respuesta Responder a este mensaje
#3 Lakrom
28/11/2005 - 20:16 | Informe spam
La solución que le di a eso es llamando a una función en javascript en el
action del formulario llamo a la misma pagina, esta es la parte de código
VBBScript que escribe la tabla y la llamada a la función:
Esta parte del código está en un loop.
para validar la carga de la pagina pido un querystring
******* inicio del código *************
if Request.QueryString("Ano")="" and Request.QueryString("Mes")="" Then
...

Layer = "<tr class='pie'><td><div align='left'>"&RUT&"</div></td>"&_
"<input name='rut"&I&"' type='hidden' value='"&RUT&"'>"&_
"<td><div align='left'>"&ID&"</div></td>"&_
"<td><div align='left'>"&Nombre&"</div></td>"&_
"<td><div align='left'>"&Apellido&"</div></td><td><div align='left'>"&_
"<input name='CantEnt"&I&"' Value='"& Puntaje1 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='ICantEnt"&I&"' Value='"& Puntaje2 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='PremLid"&I&"' Value='"& Puntaje3 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='LlamPunt"&I&"' Value='"& Puntaje4 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='DescAud"&I&"' Value='"& Puntaje5 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'><input name='Total"&I&"' Value='"&
TotalPuntos &"' type='text' size='8' maxlength='6'
disabled></div></td></tr>"
Layer = Replace(Layer,"##","javascript:Busca"&I&"()")
Response.Write Layer
********* fin del codigo ************
Si te fijas remplazo las almuadillas ## por la llamada a la funsión, lo
siguiente muestra parete de la funsion:
********* inicio del codigo **********
<Script Language:JavaScript>
function Busca13()
{
document.location = "int_abonar.asp?RUT="+window.document.all.rut13.value+
"&MesA="+window.document.all.MMes.value+"&P1="+window.document.all.CantEnt13.value+
"&P2="+window.document.all.ICantEnt13.value+"&P3="+window.document.all.PremLid13.value+
"&P4="+window.document.all.LlamPunt13.value+"&P5="+window.document.all.DescAud13.value
}
</Script>
*********** fin del codigo *************
Te puedo enviar estas paginas si lo deseas.
saludos
"sandra" escribió en el mensaje
news:uk$
Sí que entiendo a lo que te refieres, ya lo he intentado, el problema es
que no sé cómo decirle en el evento onchange del combo que me vuelva a
cargar la página con el nuevo valor.
Gracias


Respuesta Responder a este mensaje
#4 Matías Iacono
29/11/2005 - 00:17 | Informe spam
En el combo:

<select name=MiCombo onChange="HacerSubmit()">


</select>

<script language=javascript>
function HacerSubmit()
{
document.NombreDelFormulario.submit();
}
</script>

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3
Coordinador de evento Comunidad MSDN Bolivia
"sandra" escribió en el mensaje
news:uk$
Sí que entiendo a lo que te refieres, ya lo he intentado, el problema es
que no sé cómo decirle en el evento onchange del combo que me vuelva a
cargar la página con el nuevo valor.
Gracias


Respuesta Responder a este mensaje
#5 guarracuco
29/11/2005 - 12:57 | Informe spam
Sandra, tambien puedes 'descargar' la informacion en textareas ocultos y
mostrar la informacion relacionada al combobox, en un <div> de manera
dinamica; la gran ventaja de esto es que el usuario no tiene que recargar la
página(algo como flash/macromedia). puedes ver algo al respecto en
www.consolidatos.com/guayamuri. atte carlos
guarracuco/venezuela


"Lakrom" escribió:

La solución que le di a eso es llamando a una función en javascript en el
action del formulario llamo a la misma pagina, esta es la parte de código
VBBScript que escribe la tabla y la llamada a la función:
Esta parte del código está en un loop.
para validar la carga de la pagina pido un querystring
******* inicio del código *************
if Request.QueryString("Ano")="" and Request.QueryString("Mes")="" Then


Layer = "<tr class='pie'><td><div align='left'>"&RUT&"</div></td>"&_
"<input name='rut"&I&"' type='hidden' value='"&RUT&"'>"&_
"<td><div align='left'>"&ID&"</div></td>"&_
"<td><div align='left'>"&Nombre&"</div></td>"&_
"<td><div align='left'>"&Apellido&"</div></td><td><div align='left'>"&_
"<input name='CantEnt"&I&"' Value='"& Puntaje1 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='ICantEnt"&I&"' Value='"& Puntaje2 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='PremLid"&I&"' Value='"& Puntaje3 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='LlamPunt"&I&"' Value='"& Puntaje4 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'>"&_
"<input name='DescAud"&I&"' Value='"& Puntaje5 &"' type='text' size='8'
maxlength='6' onChange='##'>"&_
"</div></td><td><div align='left'><input name='Total"&I&"' Value='"&
TotalPuntos &"' type='text' size='8' maxlength='6'
disabled></div></td></tr>"
Layer = Replace(Layer,"##","javascript:Busca"&I&"()")
Response.Write Layer
********* fin del codigo ************
Si te fijas remplazo las almuadillas ## por la llamada a la funsión, lo
siguiente muestra parete de la funsion:
********* inicio del codigo **********
<Script Language:JavaScript>
function Busca13()
{
document.location = "int_abonar.asp?RUT="+window.document.all.rut13.value+
"&MesA="+window.document.all.MMes.value+"&P1="+window.document.all.CantEnt13.value+
"&P2="+window.document.all.ICantEnt13.value+"&P3="+window.document.all.PremLid13.value+
"&P4="+window.document.all.LlamPunt13.value+"&P5="+window.document.all.DescAud13.value
}
</Script>
*********** fin del codigo *************
Te puedo enviar estas paginas si lo deseas.
saludos
"sandra" escribió en el mensaje
news:uk$
> Sí que entiendo a lo que te refieres, ya lo he intentado, el problema es
> que no sé cómo decirle en el evento onchange del combo que me vuelva a
> cargar la página con el nuevo valor.
> Gracias
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida