Está en la página 1de 2

LISTA DESPLEGABLE Este script permite crear listas dependientes unas de otras, hasta el nmero que t quieras.

En el archivo de ejemplo vers una que genera 4 listas desplegables, dependientes una de otra.No voy a explicar mucho qu hace cada funcin, sino que me limitar a indicar las instrucciones para que cada uno lo haga funcionar a su gusto. En primer lugar, indicar que, aunque puede utilizarse para ser llenado manualmente (el de ejemplo est creado de esa manera), el script est pensado para utilizarlo junto con una Base de Datos, ya que se ha simplificado al mximo la entrada de datos para poder insertarlo dentro de una regin repetida, independientemente del lenguaje de servidor. Empecemos: El script se compone de 2 bloques: El primero, que va situado en el encabezado del documento, no necesita ser modificado. En el segundo bloque, que debe ir colocado despus del ltimo listbox, es donde que hay que aadir los datos. Los pasos a seguir son: 1. Buscar esta llamada: "TCN_makeComboGroup('continente','pais','ciudad','calle');" En esta llamada, hay que modificar los parmetros, para colocar todos los nombres de los mens que se van a ver implicados (es decir, el valor del atributo "name", siguiendo este orden: El primero cargar el listado principal El segundo, los datos dependientes del primero El tercero, los datos dependientes del segundo ... El octavo, los datos dependientes del sptimo listbox. En el script de ejemplo he utilizado 'Continente', 'Pais', 'Ciudad' y 'calle', en este orden, ya que cada combo depende del anterior. Si por ejemplo quisieramos crear un grupo de equipos, la funcin podra ser: TCN_makeComboGroup('deporte','categora','equipo'); 2. Definir la variable "separator": Esta variable definir el caracter o caracteres que indicarn dnde se separa cada valor del punto 3. en el ejemplo he utilizado "<->", pero puedes definir la que quieras, dependiendo del tipo de contenido que tengas, ya que esa cadena no puede aparecer en ninguno de los contenidos. Es decir: si uno de los textos que va a aparecer en los listbox es "mi texto>", no utilices ">" como separador. 3. Llamar a la funcin "TCN_addContent" tantas veces como sea necesario para aadir contenidos. El contenido debe reunir estas condiciones: Debe tratarse de una cadena de caracteres, donde cada valor debe separarse por el smbolo utilizado en la variable "separator".

Debe tener el doble de valores que el nmero de listboxes utilizados ya que, obviamente, cada listbox necesita un par de valores (uno para texto y otro para su valor) . El orden de los valores es el indicado en la funcin TCN_makeComboGroup(): Es decir: el primer valor es el texto del primer combo, el segundo es el valor del primer combo, el tercero es el texto del segundo combo... Por ejemplo, si hemos hecho esta llamada: TCN_addContent("America<+>1<+>EE.UU<+>1<+>Miami<+>1<+>ca lle1<+>1"); Se ve que cada valor est separado por el valor que declaramos en "separator" y que el conjunto de valores sigue este modelo: Para el listbox "continente" el texto es Amrica y su valor ser 1; Para "pais" los valores son "EE.UU" para el texto y "1" para su valor; Para "ciudad", los valores son "Miami" y "1"; Para "calle": "calle1" y "1" Total: 4 menus x 2 valores = 8 elementos.

    

Qu sucede si no necesito declarar los valores de todos los mens, o necesito otro tipo de valor que no sea numrico? Bueno, para la primera pregunta la respuesta es "aade un valor falso". Para la segunda la respuesta es "aade el valor que necesites". Si por ejemplo slo necesitaras el valor en el ultimo menu y que este fuera una URL para redireccionar al usuario, el cdigo podra ser: TCN_addContent("Software<->xx<->Empresas<->xx<->Macromedia<>http://www.macromedia.com") Es decir, un grupo de 3 menus, donde slo el valor del tercero es importante.(el botn para enviar a la URL lo dejo como trabajo tuyo). 4. Para terminar: Asignar a los listboxes la llamada a la funcion "reload(this)", de manera que un ejemplo de listbox puede ser: <select name="continente" onChange="reload(this)"> Y nada ms, creo que un vistazo al archivo de ejemplo explicar mejor cmo funciona todo ello: Recordad que todos los cambios se hace en la parte del cuerpo que va despus del ltimo ListBox. El cdigo que va colocado en el encabezado no hace falta modificarlo.

También podría gustarte