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 Javascript
:
Ver originalfunction fn(id, val){
var select = document.getElementById(id);
for (var i = 0, l = select.options.length; i < l; i++){
if (select.options[i].value == val){
select.options[i].selected = true;
break;
}
}
}
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 originalfunction fn(clase, valor){
for (var i = 0, listas = document.querySelectorAll("." + clase), l = listas.length; i < l; listas[i].value = valor, i++);
}
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.