SoloCodigo

Programación Web y Scripting => JavaScript => Mensaje iniciado por: El_Lucho en Miércoles 13 de Julio de 2005, 16:42

Título: Dos Combos
Publicado por: El_Lucho en Miércoles 13 de Julio de 2005, 16:42
Hola, quisiera saber si hay alguna forma de que al tener dos combos (select) puedan cambiarse las opciones desde uno al otro, mediante dos botones(uno para mover de derecha a izq y otro al reves), muchas gracias de antemano.
Título: Re: Dos Combos
Publicado por: xcx en Jueves 14 de Julio de 2005, 18:04
algo así como select dependientes?...
osea, si seleccionas una opcion, que las opciones del otro cambien automáticamente?.. si hay.. y no necesitas los botones.. pero si quieres usar los botones seria llamar los metodos en vez de que lo haga en onChange...
aquí te voy a dejar un ejemplo.. ahí lo acomodas a tu pinta...
Código: Text
  1.  
  2. <html>
  3. <script LANGUAGE="JavaScript">
  4.  
  5. function slctr(texto,valor){
  6. this.texto = texto
  7. this.valor = valor
  8. }
  9.  
  10. var herramientas=new Array()
  11. herramientas[0] = new slctr('- -Herramientas- -')
  12. herramientas[1] = new slctr("Jardín",'jardin')
  13. herramientas[2] = new slctr("fontanería",'fontaneria')
  14.  
  15. var muebles=new Array()
  16. muebles[0] = new slctr('- -Muebles- -')
  17. muebles[1] = new slctr("Salón",'salon')
  18. muebles[2] = new slctr("dormitorio",'dormitorio')
  19.  
  20. //*******Nietos*******************
  21. var jardin = new Array()
  22. jardin[0] = new slctr('- -Jardín- -')
  23. jardin[1] = new slctr("podadora",null)
  24. jardin[2] = new slctr("segadora" ,null)
  25.  
  26. var fontaneria = new Array()
  27. fontaneria[0] = new slctr('- -Fontanería- -')
  28. fontaneria[1] = new slctr("llave inglesa",null)
  29. fontaneria[2] = new slctr("llave fija",null)
  30.  
  31. var salon = new Array()
  32. salon[0] = new slctr('- -Salón- -')
  33. salon[1] = new slctr("Mesa",null)
  34. salon[2] = new slctr("silla" ,null)
  35. var dormitorio = new Array()
  36. dormitorio[0] = new slctr('- -Dormitorio- -')
  37. dormitorio[1] = new slctr("cama",null)
  38. dormitorio[2] = new slctr("mesita" ,null)
  39.  
  40. function slctryole(cual,donde){
  41. if(cual.selectedIndex != 0){
  42.    donde.length=0
  43.    cual = eval(cual.value)
  44.    for(m=0;m<cual.length;m++){
  45.       var nuevaOpcion = new Option(cual[m].texto);
  46.       donde.options[m] = nuevaOpcion;
  47.       if(cual[m].valor != null){
  48.          donde.options[m].value = cual[m].valor
  49.          }
  50.       else{
  51.          donde.options[m].value = cual[m].texto
  52.          }
  53.       }
  54.    }
  55. }
  56. </script>
  57.  
  58. <body>
  59. <form name="form1" method="post" action="">
  60.    <select name="select" onchange="slctryole(this,this.form.select2)">
  61.      <option>- - Seleccionar - -</option>
  62.     <option value="herramientas">herramientas</option>
  63.     <option value="muebles">muebles</option>
  64.    </select>
  65.   <select name="select2" onchange="slctryole(this,this.form.select3)">
  66.     <option>- - - - - -</option>
  67.   </select>
  68.   <select name="select3">
  69.     <option>- - - - - -</option>
  70.   </select>
  71. </form>
  72. </body>
  73. </html>
  74.  
  75.  
pd: Viva el copy&paste ^_^V
Título: Re: Dos Combos
Publicado por: El_Lucho en Jueves 14 de Julio de 2005, 19:21
muchas gracias, no era exactamente lo que necesitaba pero me sirvio mucho. :smartass:  :kicking:
Título: Re: Dos Combos
Publicado por: xcx en Jueves 14 de Julio de 2005, 19:24
Y que es lo que necesitas entonces? aun asi te sirvio? fue pk andaba cerca.. para otra, intenta ser mas especifico en tu pregunta... pk lo que coloque, fue pk casi tuve que adivinar a que te referias....  :hola: