Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/11/2014, 12:57
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: Seleccionar opción en todos los select

Deberías de utilizar solo una función para hacer esto, la cual recibiría dos parámetros: El identificador de la lista y el valor a buscar.

Código HTML:
Ver original
  1. <button onclick = "fn('Status', 'App')">Aprobada</button>
  2. <button onclick = "fn('Status', 'Rech')">Rech</button>
  3.  
  4. <select name = 'Status' id = 'Status'>
  5.     <option value='ok' selected>ok</option>
  6.     <option value='App'>App</option>
  7.     <option value='Rech'>Rech</option>

Código Javascript:
Ver original
  1. function fn(id, val){
  2.     var select = document.getElementById(id);  
  3.     for (var i = 0, l = select.options.length; i < l; i++){
  4.         if (select.options[i].value == val){
  5.             select.options[i].selected = true;
  6.             break;
  7.         }
  8.     }
  9. }

Lo que hago es simple. La lista de opciones es la misma que tienes, pero, en los botones al dar clic en cualquiera de ellos, invoco a una función a la cual le paso dos parámetros: El identificador de la lista y el valor a buscar.

En la función, recibo a ambos valores, tomo a la lista por su identificador y, con ayuda de un bucle, busco entre las opciones de la lista el valor que coincida con el que estamos buscando. En caso de encontrarlo, se selecciona la opción correspondiente y se termina el bucle. Por cierto, si planeas trabajar con varias listas, no debes de utilizar el mismo id para todas pues debe de ser un valor único en todo el documento. En su lugar, puedes usar una clase o un array de listas.

Saludos

Edito: La solución de alexg88, me ha dado una idea:

Código Javascript:
Ver original
  1. function fn(clase, valor){
  2.     for (var i = 0, listas = document.querySelectorAll("." + clase), l = listas.length; i < l; listas[i].value = valor, i++);
  3. }

Tomas al conjunto de listas por su clase, recorres el conjunto obtenido y le asignas a cada una el valor buscado. La selección de la opción equivalente será automática.

P.D.: No me había fijado de que querías que el cambio se produzca en varias listas a la vez.
__________________
«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

Última edición por Alexis88; 05/11/2014 a las 13:09 Razón: Mejora