Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/05/2015, 17:13
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: Select, option, varios campos

Se me ocurre que asignes a cada opción un atributo personalizado con el respectivo correo electrónico y al final del <select>, añade un campo oculto en el cual cargaremos el correo electrónica de la opción seleccionada, luego, cuando se produzca el evento change en el <select>, ejecutarás una función en la que tomarás el correo electrónico guardado en el atributo personalizado de la opción seleccionada y lo asignarás al campo oculto.

Un ejemplo:
Código HTML:
Ver original
  1. <select onchange = "asignar(this.options[this.selectedIndex].dataset.email)">
  2.     <option value = "opc1" data-email = "[email protected]">Primera opción</option>
  3.     <option value = "opc2" data-email = "[email protected]">Segunda opción</option>
  4.     <option value = "opc3" data-email = "[email protected]">Tercera opción</option>
  5.  
  6. <input type = "hidden" id = "oculto" />

Código Javascript:
Ver original
  1. function asignar(email){
  2.     document.querySelector("#oculto").value = email;
  3. }

Esto es lo que envío como parámetro a la función:
  • this: Hace referencia al <select>.
  • options: Representa al conjunto de opciones del <select>.
  • selectedIndex: Es el índice de la opción seleccionada dentro del conjunto de opciones. El primero es 0.
  • dataset: Atributo con el cual puedo obtener el valor de un atributo personalizado. Más información.
  • email: El nombre del atributo personalizado

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