Sab Mar 25, 2006 4:14 am
|
 |
Lor
Perlero Nuevo

|
Registrado: 28 Abr 2005
Mensajes: 76
Ubicación: Argentina, Santa FE
|
|
| SELECT cuyas OPTION dependen de lo elegido en otro SELECT |
|
|
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  |
|
|
|

Sab Mar 25, 2006 8:35 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1272
Ubicación: México
|
|
|
|
|
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 |
|

Sab Mar 25, 2006 2:25 pm
|
 |
Lor
Perlero Nuevo

|
Registrado: 28 Abr 2005
Mensajes: 76
Ubicación: Argentina, Santa FE
|
|
|
|
|
Uriel:
Muchas gracias, lo intentare , lo veo dificil, sino puedo lograrlo me comunicare contigo nuevamente. Gracias |
|
Sab Mar 25, 2006 8:02 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1272
Ubicación: México
|
|
|
|
|
Hola Lor:
Realmente es muy sencillo, pero igual, si se te complica pon lo que llevas y vemos que onda.
Saludos |
|
Vie May 12, 2006 11:37 am
|
 |
rookie
Perlero Nuevo

|
Registrado: 01 Mar 2006
Mensajes: 39
|
|
|
|
|
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 |
|

Lun May 14, 2007 5:34 am
|
 |
marcosss
Perlero Nuevo

|
Registrado: 14 May 2007
Mensajes: 87
|
|
|
|
|
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? |
|


Lun May 14, 2007 9:23 am
|
 |
marcosss
Perlero Nuevo

|
Registrado: 14 May 2007
Mensajes: 87
|
|
| Mostrar objeto javascript |
|
|
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í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 |
|

Lun May 14, 2007 9:57 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3156
Ubicación: Valladolid, España
|
|
|
|
|
| Je, je... claro... en la página debes poner los tags <select> con esos nombres: sex y names. |
|
Mie Mar 12, 2008 11:57 am
|
 |
Lor
Perlero Nuevo

|
Registrado: 28 Abr 2005
Mensajes: 76
Ubicación: Argentina, Santa FE
|
|
|
|
|
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. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|