Dropdownlist

Resulta que estoy programando en ASP y me gustaría saber cómo tendría que programar un dropdownlist para que al clicar en una opción de la lista me apareciera una tabla con preguntas debajo. Me imagino que será utilizando javascript en la vista HTML, pero no me acuerdo de qué evento sería y si desde ahí podría poner a visible una tabla que no lo estaría. O si habría alguna sentencia que me permitiese insertar una página con la tabla debajo del dropdownlist. No sé, alguna solución a este problema.

2 Respuestas

Respuesta
1
Puedes utilizar el Evento Onchange que cuando eliges un item diferente en el dropdownlist se desencadena. Por otra parte si metes la tabla en una capa al elegir un item de la lista diferente al que tiene marcada llame a una función Javascript que ponga la propiedad "visible" de la capa a true y (muy importante) la de todas las demás capas a false.
Es decir tu para cada opción del dropdownlist tendrás una tabla metida en una capa. Cuando eliges la primera muestras la capa que le corresponda y cuando elijas la segunda debes mostrar la capa de la segunda y esconder esa primera. Por eso debes siempre que haces visible la capa correspondiente poner las demás capas a invisibles estén o no visibles.
¿La siguiente función mostraría la capa de nombre? ¿Alta?:
showHideLayers('alta','','show');?
si sustituye show por hide la esconderia.
El codigo de la funcion seria el siguiente
function showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
Si te fabricas una función que la llames desde el evento onChange del dropdownlist, pasándole el código de la opción podrías saber que capa muestras y cuales escondes mediante la función que te he puesto. Si la función la llamas mostrar_tabla(); su llamada desde dropdownlist podrías er así:
<select name=?mostrar? id=?mostrar? onChange?mostrar_tabla();?>
Respuesta
1
Es lo que te comenté antes. No te va a dejar, porque está usando JavaScript, que es código cliente. Lo que podrías hacer es refrescar la página y generar los controles web en código servidor.
Hola de nuevo:
Ya siento ser tan pesada, pero es que estoy liando aquí una... me refería a que en la función mostrartabla no puedo incluir controles web de asp. la función esta echa con javascript y si pongo document. write("hola") si que me deja, pero si pongo document. write(<asp:ListBox..>...) que es lo que quiero poner en la tabla pues eso ya no me deja, me da error. No se que hacer, pero te agradecería un montón que me ayudaras
¿Estás trabajando en ASP .NET? Me parece que tendrías que refrescar la página entonces, utilizando código en Servidor para generar los web controls.
Hola de nuevo.
¿Pero si quiero insertar una tabla que tenga labels y radiobuttonlist y necesito que los radiobuttonlist no sean html sino web controls? En la vista html no voy a poder utilizar esos radiobuttons.
En el onchange de tu combo, llamá a alguna función en JavaScript, que haga visible / invisible a alguna tabla.
<select onchange="mostrarTabla();">
Mediante JavaScript tenés que hacer que se refresque la página (por ejemplo diciendo que el document. location. Href es igual a la misma página) enviándole algún parámetro que te haga dar cuenta que tenés que generar lo que quieras generar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas