Consulta Basica de Combo box

12/04/2006 - 22:47 por Juan | Informe spam
Hola Grupo:
Desde ahora debo entrar en el tema de ASP , por lo cual estoy tratando de
entender la forma en que ASP funciona a diefrencia de VB,que es donde he
trabajado .

Este es mi primer dilema que se me presenta , como puedo mediante eun combox
realizar una consulta donde la parte descriminante de la consulta ( WHERE )
sea el campo id del valor que tiene otro combo donde ya se efectuo la
seleccion.

Espero me puedan guiar en este punto

Sldos

Juan

Preguntas similare

Leer las respuestas

#1 Matías Iacono
13/04/2006 - 17:04 | Informe spam
Todo dependerá de como hayas cargado de datos el combo en concreto.

Ten en cuenta que el combo se conforma de dos partes, la que mantiene el
valor, oculto, para el item y el texto a desplegar.

De la forma: <option value="ValorOculto">Texto A Desplegar</option>

De esta manera, uno de tus combos deberías poseer en la propiedad VALUE el
ID correspondiente a ese item.

Por otra parte, la unica forma en la cual puedes interactuar con esos
valores, es haciendo un submit a tu pagina web, esto es, recargando dicha
página.

Teniendo en cuenta que el combo tiene un nombre. Nombre asignado en la
opcion <Select Name="NombreDelCombo">, puedes capturar el valor seleccionado
de dicho combo, al momento de hacer el submit.

Indudablemente, dependiendo del metodo que uses (GET o POST), puedes hacer:

ValorID = Request.Form("NombreDelCombo") 'Esto para POST

o

ValorID = Request.Querystring("NombreDelCombo") 'Esto para el GET

Tambien debes tener en cuenta que estos controles, para que puedas pasar el
valor en el submit, deben estar dentro de las etiquetas FORM.

<Form Name="Formulario1" Action="DireccionDePaginaQueAdministraElSubmit"
Method="Post">
...
Controles
</Form>

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Juan" escribió en el mensaje
news:
Hola Grupo:
Desde ahora debo entrar en el tema de ASP , por lo cual estoy tratando de
entender la forma en que ASP funciona a diefrencia de VB,que es donde he
trabajado .

Este es mi primer dilema que se me presenta , como puedo mediante eun
combox realizar una consulta donde la parte descriminante de la consulta
( WHERE ) sea el campo id del valor que tiene otro combo donde ya se
efectuo la seleccion.

Espero me puedan guiar en este punto

Sldos

Juan

Respuesta Responder a este mensaje
#2 German Saer
14/04/2006 - 03:30 | Informe spam
Disculpa que te contradiga Matias, pero aunque es la forma mas facil, no es
necesariamente la unica forma de hacer esto. Se pueden cargar ambos combos
con todos los datos posibles para ambos combos y correlacionandolos a traves
de una matriz y usando javascript puedes hacer que el "segundo combo se
ajuste" dependiendo del valor del primer combo, con una pequeña funcion, sin
tener la necesidad de hacer submit a la pagina. Todo depende de que deseas.
Yo particularmente uso la opcion dada por Matias; obviamente es mucho mas
facil y mas rapido cuando los datos provienen de tablas de base de datos.

Un ejemplo que no necesita submit:

<html>

<script language="javascript">
function setOptions(chosen) {
var selbox = document.forms[0].dd2

selbox.options.length = 0;
selbox.disabled= false;
switch (chosen) {
case "0":
selbox.options[selbox.options.length] = new Option("You haven't
selected an option","");
selbox.disabled= true;
break;
case "1":
selbox.options[selbox.options.length] = new Option("Option 1,
1","11");
selbox.options[selbox.options.length] = new Option("Option 1,
2","12");
break;
case "2":
selbox.options[selbox.options.length] = new Option("Option 2,
1","21");
selbox.options[selbox.options.length] = new Option("Option 2,
2","22");
break;
case "3":
selbox.options[selbox.options.length] = new Option("Option 3,
1","31");
selbox.options[selbox.options.length] = new Option("Option 3,
2","32");
selbox.options[selbox.options.length] = new Option("Option 3,
3","33");
break;
case "4":
selbox.options[selbox.options.length] = new Option("Option 4,
1","41");
selbox.options[selbox.options.length] = new Option("Option 4,
2","42");
selbox.options[selbox.options.length] = new Option("Option 4,
3","43");
selbox.options[selbox.options.length] = new Option("Option 4,
4","44");
break;
}
}
</script>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>

<body>

<form>

<select name="dd1"
OnChange="setOptions(document.forms[0].dd1.options[document.forms[0].dd1.sel
ectedIndex].value);">
<option value="0">Select an Option</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>

<select name="dd2">
</select>

<script language="javascript">

setOptions(document.forms[0].dd1.options[document.forms[0].dd1.selectedIndex
].value);
</script>

</form>
</body>

</html>

Espero te sirva

Thanks,

_______________
German Saer
Orlando, FL 32810



"Matías Iacono" wrote in message
news:uX5g%
Todo dependerá de como hayas cargado de datos el combo en concreto.

Ten en cuenta que el combo se conforma de dos partes, la que mantiene el
valor, oculto, para el item y el texto a desplegar.

De la forma: <option value="ValorOculto">Texto A Desplegar</option>

De esta manera, uno de tus combos deberías poseer en la propiedad VALUE el
ID correspondiente a ese item.

Por otra parte, la unica forma en la cual puedes interactuar con esos
valores, es haciendo un submit a tu pagina web, esto es, recargando dicha
página.

Teniendo en cuenta que el combo tiene un nombre. Nombre asignado en la
opcion <Select Name="NombreDelCombo">, puedes capturar el valor


seleccionado
de dicho combo, al momento de hacer el submit.

Indudablemente, dependiendo del metodo que uses (GET o POST), puedes


hacer:

ValorID = Request.Form("NombreDelCombo") 'Esto para POST

o

ValorID = Request.Querystring("NombreDelCombo") 'Esto para el GET

Tambien debes tener en cuenta que estos controles, para que puedas pasar


el
valor en el submit, deben estar dentro de las etiquetas FORM.

<Form Name="Formulario1" Action="DireccionDePaginaQueAdministraElSubmit"
Method="Post">
...
Controles
</Form>

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Juan" escribió en el mensaje
news:
> Hola Grupo:
> Desde ahora debo entrar en el tema de ASP , por lo cual estoy tratando


de
> entender la forma en que ASP funciona a diefrencia de VB,que es donde he
> trabajado .
>
> Este es mi primer dilema que se me presenta , como puedo mediante eun
> combox realizar una consulta donde la parte descriminante de la consulta
> ( WHERE ) sea el campo id del valor que tiene otro combo donde ya se
> efectuo la seleccion.
>
> Espero me puedan guiar en este punto
>
> Sldos
>
> Juan
>


Respuesta Responder a este mensaje
#3 Matías Iacono
14/04/2006 - 16:41 | Informe spam
Sobre gustos no hay nada escrito.

De cualquier manera, supongo que la solucion dada dejo conforme al que
pregunto.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"German Saer" escribió en el mensaje
news:MWC%f.139484$
Disculpa que te contradiga Matias, pero aunque es la forma mas facil, no
es
necesariamente la unica forma de hacer esto. Se pueden cargar ambos
combos
con todos los datos posibles para ambos combos y correlacionandolos a
traves
de una matriz y usando javascript puedes hacer que el "segundo combo se
ajuste" dependiendo del valor del primer combo, con una pequeña funcion,
sin
tener la necesidad de hacer submit a la pagina. Todo depende de que
deseas.
Yo particularmente uso la opcion dada por Matias; obviamente es mucho mas
facil y mas rapido cuando los datos provienen de tablas de base de datos.

Un ejemplo que no necesita submit:

<html>

<script language="javascript">
function setOptions(chosen) {
var selbox = document.forms[0].dd2

selbox.options.length = 0;
selbox.disabled= false;
switch (chosen) {
case "0":
selbox.options[selbox.options.length] = new Option("You haven't
selected an option","");
selbox.disabled= true;
break;
case "1":
selbox.options[selbox.options.length] = new Option("Option 1,
1","11");
selbox.options[selbox.options.length] = new Option("Option 1,
2","12");
break;
case "2":
selbox.options[selbox.options.length] = new Option("Option 2,
1","21");
selbox.options[selbox.options.length] = new Option("Option 2,
2","22");
break;
case "3":
selbox.options[selbox.options.length] = new Option("Option 3,
1","31");
selbox.options[selbox.options.length] = new Option("Option 3,
2","32");
selbox.options[selbox.options.length] = new Option("Option 3,
3","33");
break;
case "4":
selbox.options[selbox.options.length] = new Option("Option 4,
1","41");
selbox.options[selbox.options.length] = new Option("Option 4,
2","42");
selbox.options[selbox.options.length] = new Option("Option 4,
3","43");
selbox.options[selbox.options.length] = new Option("Option 4,
4","44");
break;
}
}
</script>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>

<body>

<form>

<select name="dd1"
OnChange="setOptions(document.forms[0].dd1.options[document.forms[0].dd1.sel
ectedIndex].value);">
<option value="0">Select an Option</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>

<select name="dd2">
</select>

<script language="javascript">

setOptions(document.forms[0].dd1.options[document.forms[0].dd1.selectedIndex
].value);
</script>

</form>
</body>

</html>

Espero te sirva

Thanks,

_______________
German Saer
Orlando, FL 32810



"Matías Iacono" wrote in message
news:uX5g%
Todo dependerá de como hayas cargado de datos el combo en concreto.

Ten en cuenta que el combo se conforma de dos partes, la que mantiene el
valor, oculto, para el item y el texto a desplegar.

De la forma: <option value="ValorOculto">Texto A Desplegar</option>

De esta manera, uno de tus combos deberías poseer en la propiedad VALUE
el
ID correspondiente a ese item.

Por otra parte, la unica forma en la cual puedes interactuar con esos
valores, es haciendo un submit a tu pagina web, esto es, recargando dicha
página.

Teniendo en cuenta que el combo tiene un nombre. Nombre asignado en la
opcion <Select Name="NombreDelCombo">, puedes capturar el valor


seleccionado
de dicho combo, al momento de hacer el submit.

Indudablemente, dependiendo del metodo que uses (GET o POST), puedes


hacer:

ValorID = Request.Form("NombreDelCombo") 'Esto para POST

o

ValorID = Request.Querystring("NombreDelCombo") 'Esto para el GET

Tambien debes tener en cuenta que estos controles, para que puedas pasar


el
valor en el submit, deben estar dentro de las etiquetas FORM.

<Form Name="Formulario1" Action="DireccionDePaginaQueAdministraElSubmit"
Method="Post">
...
Controles
</Form>

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Juan" escribió en el mensaje
news:
> Hola Grupo:
> Desde ahora debo entrar en el tema de ASP , por lo cual estoy tratando


de
> entender la forma en que ASP funciona a diefrencia de VB,que es donde
> he
> trabajado .
>
> Este es mi primer dilema que se me presenta , como puedo mediante eun
> combox realizar una consulta donde la parte descriminante de la
> consulta
> ( WHERE ) sea el campo id del valor que tiene otro combo donde ya se
> efectuo la seleccion.
>
> Espero me puedan guiar en este punto
>
> Sldos
>
> Juan
>






Respuesta Responder a este mensaje
#4 German Saer
16/04/2006 - 15:36 | Informe spam
Eso es correcto Matias!

Ademas, que aqui no solo estamos para ayudarnos, sino que todos aunque
sepamos respuestas, siempre hay alguien que nos enseña una forma distinta de
hacer algo. Aunque yo ayudo algo frequente a otros, siempre es mas lo que
aprendo que lo que enseño. Buen dia y suerte.

Juan espero que te sirvan nuestras respuestas.

Thanks,

_______________
German Saer
Orlando, FL 32810



"Matías Iacono" wrote in message
news:
Sobre gustos no hay nada escrito.

De cualquier manera, supongo que la solucion dada dejo conforme al que
pregunto.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"German Saer" escribió en el mensaje
news:MWC%f.139484$
> Disculpa que te contradiga Matias, pero aunque es la forma mas facil, no
> es
> necesariamente la unica forma de hacer esto. Se pueden cargar ambos
> combos
> con todos los datos posibles para ambos combos y correlacionandolos a
> traves
> de una matriz y usando javascript puedes hacer que el "segundo combo se
> ajuste" dependiendo del valor del primer combo, con una pequeña funcion,
> sin
> tener la necesidad de hacer submit a la pagina. Todo depende de que
> deseas.
> Yo particularmente uso la opcion dada por Matias; obviamente es mucho


mas
> facil y mas rapido cuando los datos provienen de tablas de base de


datos.
>
> Un ejemplo que no necesita submit:
>
> <html>
>
> <script language="javascript">
> function setOptions(chosen) {
> var selbox = document.forms[0].dd2
>
> selbox.options.length = 0;
> selbox.disabled= false;
> switch (chosen) {
> case "0":
> selbox.options[selbox.options.length] = new Option("You haven't
> selected an option","");
> selbox.disabled= true;
> break;
> case "1":
> selbox.options[selbox.options.length] = new Option("Option 1,
> 1","11");
> selbox.options[selbox.options.length] = new Option("Option 1,
> 2","12");
> break;
> case "2":
> selbox.options[selbox.options.length] = new Option("Option 2,
> 1","21");
> selbox.options[selbox.options.length] = new Option("Option 2,
> 2","22");
> break;
> case "3":
> selbox.options[selbox.options.length] = new Option("Option 3,
> 1","31");
> selbox.options[selbox.options.length] = new Option("Option 3,
> 2","32");
> selbox.options[selbox.options.length] = new Option("Option 3,
> 3","33");
> break;
> case "4":
> selbox.options[selbox.options.length] = new Option("Option 4,
> 1","41");
> selbox.options[selbox.options.length] = new Option("Option 4,
> 2","42");
> selbox.options[selbox.options.length] = new Option("Option 4,
> 3","43");
> selbox.options[selbox.options.length] = new Option("Option 4,
> 4","44");
> break;
> }
> }
> </script>
>
> <head>
> <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
> <meta name="ProgId" content="FrontPage.Editor.Document">
> <meta http-equiv="Content-Type" content="text/html;
> <title>New Page 1</title>
> </head>
>
> <body>
>
> <form>
>
> <select name="dd1"
>


OnChange="setOptions(document.forms[0].dd1.options[document.forms[0].dd1.sel
> ectedIndex].value);">
> <option value="0">Select an Option</option>
> <option value="1">Option 1</option>
> <option value="2">Option 2</option>
> <option value="3">Option 3</option>
> <option value="4">Option 4</option>
> </select>
>
> <select name="dd2">
> </select>
>
> <script language="javascript">
>
>


setOptions(document.forms[0].dd1.options[document.forms[0].dd1.selectedIndex
> ].value);
> </script>
>
> </form>
> </body>
>
> </html>
>
> Espero te sirva
>
> Thanks,
>
> _______________
> German Saer
> Orlando, FL 32810
>
>
>
> "Matías Iacono" wrote in message
> news:uX5g%
>> Todo dependerá de como hayas cargado de datos el combo en concreto.
>>
>> Ten en cuenta que el combo se conforma de dos partes, la que mantiene


el
>> valor, oculto, para el item y el texto a desplegar.
>>
>> De la forma: <option value="ValorOculto">Texto A Desplegar</option>
>>
>> De esta manera, uno de tus combos deberías poseer en la propiedad VALUE
>> el
>> ID correspondiente a ese item.
>>
>> Por otra parte, la unica forma en la cual puedes interactuar con esos
>> valores, es haciendo un submit a tu pagina web, esto es, recargando


dicha
>> página.
>>
>> Teniendo en cuenta que el combo tiene un nombre. Nombre asignado en la
>> opcion <Select Name="NombreDelCombo">, puedes capturar el valor
> seleccionado
>> de dicho combo, al momento de hacer el submit.
>>
>> Indudablemente, dependiendo del metodo que uses (GET o POST), puedes
> hacer:
>>
>> ValorID = Request.Form("NombreDelCombo") 'Esto para POST
>>
>> o
>>
>> ValorID = Request.Querystring("NombreDelCombo") 'Esto para el GET
>>
>> Tambien debes tener en cuenta que estos controles, para que puedas


pasar
> el
>> valor en el submit, deben estar dentro de las etiquetas FORM.
>>
>> <Form Name="Formulario1"


Action="DireccionDePaginaQueAdministraElSubmit"
>> Method="Post">
>> ...
>> Controles
>> </Form>
>>
>> Saludos.
>>
>> Matías Iacono
>> Microsoft MVP ASP/ASP.net
>> Microsoft Student Ambassador
>> Coordinador de evento Comunidad MSDN Bolivia
>> DCE2 v.2005
>> "Juan" escribió en el mensaje
>> news:
>> > Hola Grupo:
>> > Desde ahora debo entrar en el tema de ASP , por lo cual estoy


tratando
> de
>> > entender la forma en que ASP funciona a diefrencia de VB,que es donde
>> > he
>> > trabajado .
>> >
>> > Este es mi primer dilema que se me presenta , como puedo mediante eun
>> > combox realizar una consulta donde la parte descriminante de la
>> > consulta
>> > ( WHERE ) sea el campo id del valor que tiene otro combo donde ya se
>> > efectuo la seleccion.
>> >
>> > Espero me puedan guiar en este punto
>> >
>> > Sldos
>> >
>> > Juan
>> >
>>
>>
>
>


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