Una consulta, tienes varias veces el mismo ID, y se supone que cada uno deberia tener un ID unico, porque no creas una funcion y la llamas mediante onchange en cada select? yo creo que simplemente se marea porque el no se da cuenta que tu quieres llamar a otra ID distinto del primero, ya que ese es el primero que encuentra, aunque suene un poco raro
Saludos