Se me ocurre otra solución. Cada vez que seleccionas una opción del
<select>, cambias el valor de éste, es decir, si seleccionaste la opción de valor 4, el valor del
<select> será 4 y así con el resto de opciones, entonces, cada vez que selecciones un valor, insértalo en un array, pero si nuevamente lo seleccionas, búscalo en dicho array y de encontrarse, lo eliminas. Para que el usuario sepa qué valores ha seleccionado, muestras el array en un elemento del DOM.
Código Javascript
:
Ver originalvar opciones = [];
$("#multiple").click(function(){
var valor = this.value,
posicion = opciones.indexOf(valor);
if (posicion >= 0)
opciones.splice(posicion, 1);
else
opciones.push(valor);
$("p").html(opciones); //Muestras el array en un elemento <p> o en donde desees
});
DEMO
Si luego deseas enviar la lista de valores seleccionados para procesarlos, solamente necesitas enviar el contenido del array.
Saludos