Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

SELECT cuyas OPTION dependen de lo elegido en otro SELECT

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript
Mensaje Sab Mar 25, 2006 4:14 am
Lor
Perlero Nuevo
Perlero Nuevo
Registrado: 28 Abr 2005
Mensajes: 86
Ubicación: Argentina, Santa FE
SELECT cuyas OPTION dependen de lo elegido en otro SELECT Responder citando

Agradecería si me pudiesen ayudar con lo siguiente. Tengo en un Form dos campos SELECT , supongamos en uno PAISES y en el otro ProViNCIAS. Dependiendo lo que se elija en el primero, debo desplegar las opciones del segundo.

El principal problema es que las opciones que despliegan no son siempre las mismas, es decir estáticas, sino que son datos dinámicos de una base de datos. Es decir los valores OPTION del primer SELECT cambian permanentemente, no puedo hacer un SRIPT estatico con los posibles OPTION a desplegar.

Muchas gracias Smile
Mensaje Sab Mar 25, 2006 8:35 am
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1361
Ubicación: México
Responder citando

Hola:

Aquí la parte más díficil no es lograr que pongas los datos de manera dinámica, pues eso lo puedes lograr con Perl. La parte más díficil es el Javascirpt para lograrlo.

Sin embargo, ya alguien tiene la solución. La otra vez quería lograr algo similar que tú, el chiste es que se pudiera seleccionar la ciudad, a partir de eso se desplegarán las colonias y finalmente las calles.

Estuve buscando un buen rato hasta que me encontré con una librería que brinda el "Javascript Toolbox":
http://www.javascripttoolbox.com/lib/dynamicoptionlist/

Realmente está perfecta la librería, sumamente sencilla de usar y aplicar en distintos casos.

Ahí en el URL que te doy, podrás encontrar el link para descargar la librería, que no es más que un .js pequeño, pero aparte podrás encontrar ejemplos de lo que puedes lograr y su documentación.

Chécalo y has pruebas, si te trabas mucho yo te ayudo, pues ya lo he usado para crear una cosa similar a lo que querías.

Ya que tengas el código funcionando, entonces ya le metemos Perl para que saques las opciones de manera dinámica.


Saludos
Mensaje Sab Mar 25, 2006 2:25 pm
Lor
Perlero Nuevo
Perlero Nuevo
Registrado: 28 Abr 2005
Mensajes: 86
Ubicación: Argentina, Santa FE
Responder citando

Uriel:

Muchas gracias, lo intentare , lo veo dificil, sino puedo lograrlo me comunicare contigo nuevamente. Gracias
Mensaje Sab Mar 25, 2006 8:02 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1361
Ubicación: México
Responder citando

Hola Lor:

Realmente es muy sencillo, pero igual, si se te complica pon lo que llevas y vemos que onda.

Saludos
Mensaje Vie May 12, 2006 11:37 am
rookie
Perlero Nuevo
Perlero Nuevo
Registrado: 01 Mar 2006
Mensajes: 39
Responder citando

Saludos a todos:

Como dice Kidd , yo tenia un problema parecido, y lo solucione con Ajax.
Aunque en javascript de podria también.. siempre y cuando los valores de los select no sean consultados de una BD, porque si es asi, tendrias que utilizar PHP para las consultas.

Bueno, mira te paso una línea con la que desde Javascript puedes obtener el valor que fue seleccionado en el primer Select, para asi desplegar los valores del select2 , espero te sirva:
var valor_combo=document.getElementById("id_de_tu_select").options[document.getElementById("id_de_tu_select").selectedIndex].value;

Me avisas si lograste hacerlo. Suerte
Mensaje Lun May 14, 2007 5:34 am
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Responder citando

Hola estoy programando en PHP y Javascript y tengo el mismo problema que decís aquí, hacer un select dinámico, y vuestra solución no me funciona, me da 1 error al crear el DynamicOptionList(). ¿La sintaxis es así?

Javascript:
<script type="text/javascript">
var names = new DynamicOptionList();
names.addDependentFields("sex","names");
names.forValue("boy").addOptions("Matt","Bob","Joe","Bill","John");
names.forValue("girl").addOptions("Jane","Angie","Jennifer","Amy","Sue");
names.forValue("boy").setDefaultOptions("Joe");
</script>


¿Por qué a mí no me funciona?
Mensaje Lun May 14, 2007 6:16 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 3915
Ubicación: Valladolid, España
Responder citando

¿Has cargado la librería al principio del código HTML?
Javascript:
<script type="text/javascript" src="dynamicoptionlist.js"></script>


¿Has incluido una inicialización en el onload del body?
Perl:
<body onLoad="initDynamicOptionLists()">


Eso es al menos lo que pone en su documentación.
Mensaje Lun May 14, 2007 9:23 am
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Mostrar objeto javascript Responder citando

Si, ya la tengo incluida, pero estoy trabajando con PHP y Javascript y ya no me da un error, ahora lo que no sé es como mostrar el objeto, ¿podrías ayudarme?

El código que tengo es este:

Javascript:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script type="text/javascript" src="dynamicoptionlist.js"></script>
<script type="text/javascript">

var names = new DynamicOptionList();

names.addDependentFields("sex","names");
names.forValue("boy").addOptions("Matt","Bob","Joe","Bill","John");
names.forValue("girl").addOptions("Jane","Angie","Jennifer","Amy","Sue");
names.forValue("boy").setDefaultOptions("Joe");


names.DOL_printOptions(); // No sé pero esta función no me imprime

</script>
<body onLoad="initDynamicOptionLists()">
</body>
</html>


Y no sale nada por la pantalla, sólo me da este error:

Código:
ERROR: Couldn't find form element sex in any form on the page! Init aborted


Me dice que no encuentra el elemento sexo en ningún formulario de esta página.
Muchas gracias
Mensaje Lun May 14, 2007 9:57 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 3915
Ubicación: Valladolid, España
Responder citando

Je, je... claro... en la página debes poner los tags <select> con esos nombres: sex y names.
Mensaje Mie Mar 12, 2008 11:57 am
Lor
Perlero Nuevo
Perlero Nuevo
Registrado: 28 Abr 2005
Mensajes: 86
Ubicación: Argentina, Santa FE
Responder citando

No puedo lograr esto, los elementos de mis TAG SELECT son datos obtenidos de dos query a una base de datos. Hago dos consultas a mysql y los resultados de las mismas me llenan los Tag.

Necesitaría que alguien que haya logrado hacerlo con Perl y JavaScript me pase unas líneas de código.


Muchas gracias.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group