Podrías hacerlo así:
Código Javascript
:
Ver originalvar foo = document.querySelector("#foo"),
bar = document.querySelector("#bar"),
bin = document.querySelector("#bin"),
options = [], value, index;
foo.addEventListener("change", function(){
value = this.options[this.selectedIndex].innerHTML;
if ((index = options.indexOf(value)) > -1){
options.splice(index, 1);
}
else{
options.push(value);
}
}, false);
bin.addEventListener("click", function(){
bar.value = options.join(", ");
}, 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