Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/11/2014, 14:10
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Pasar elementos de select multiple a input

Podrías hacerlo así:

Código HTML:
Ver original
  1. <select multiple id = "foo">
  2.     <option>Uno</option>
  3.     <option>Dos</option>
  4.     <option>Tres</option>
  5. <button id = "bin">Clic</button>
  6. <input type = "text" id = "bar" />

Código Javascript:
Ver original
  1. var foo = document.querySelector("#foo"),
  2.     bar = document.querySelector("#bar"),
  3.     bin = document.querySelector("#bin"),
  4.     options = [], value, index;
  5.  
  6. foo.addEventListener("change", function(){
  7.     value = this.options[this.selectedIndex].innerHTML;
  8.     if ((index = options.indexOf(value)) > -1){
  9.         options.splice(index, 1);
  10.     }
  11.     else{
  12.         options.push(value);
  13.     }
  14. }, false);
  15.  
  16. bin.addEventListener("click", function(){
  17.     bar.value = options.join(", ");
  18. }, false);

El proceso es así. Tengo una lista múltiple, un botón y una caja de texto. En el código JS, tomo a los tres elementos y los asigno a variables, además, declaro un array y dos variables más que usaré después. Cuando elija un valor en la lista múltiple, tomo el valor de la opción seleccionada (o más bien, el texto que se muestra) y verifico si existe en el array que inicialmente declaré; de estar presente, lo elimino del mismo (del array, no de la lista), caso contrario, lo añado al array.

Finalmente, cuando pulse el botón, asigno a la caja el contenido del array unido por comas y espacios.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand