2013-09-07 3 views
1

Я пытаюсь использовать JS для обновления выбранного значения нескольких элементов select, в то же время. По какой-то причине мой JS обновляет только один номер select, а не все из них на странице. К сожалению, я не могу изменить атрибут idselect, а различные элементы select должны иметь одинаковые id.Обновление нескольких значений выбора с помощью Javascript

Как я могу изменить функцию так, чтобы обновлялись ВСЕ выпадающих списков с идентификатором 'dropdown-test'?

JS

document.getElementById('dropdown-test').value="3"; 

HTML

<select id="dropdown_test"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
<option>4</option> 
</select> 

<select id="dropdown_test"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
<option>4</option> 
</select> 
+5

Вы должны уникальные идентификаторы, а не один и тот же идентификатор для разных элементов – Sergio

+1

«различные элементы выбора должны иметь один и тот же идентификатор». - если это правда, у вас есть требование, которое означает, что вы будете делать HTML все неправильно. Вся суть Id заключается в том, что они уникальны внутри страницы! –

+0

Кроме того, вашему вызову 'getElementById()' передается другой идентификатор, чем тот, который имеют элементы DOM. – Boaz

ответ

3

Вы должны иметь уникальные идентификаторы. Если вы хотите использовать JQuery вы можете сделать так:

$('select').val(3); 

Demo here

Если вы хотите использовать простой JavaScript вы можете использовать:

var all_select = document.getElementsByTagName("select"); 
for (i = 0; i < all_select.length; i++) { 
    all_select[i].value = 3; 
} 

Демо-версия here

Если вам все равно нужны идентификаторы, дайте им разные имена.

Read about ID:

+0

+1 Обратите внимание, что в OP конкретно указано, что единственным ограничением является то, что 'id' не может быть изменен и должен быть одинаковым для всех элементов, хотя это неверно. – Boaz

1

попробовать использовать класс name.Id должен быть уникальным.

HTML

<select class="dropdown_test"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
<option>4</option> 
</select> 

<select class="dropdown_test"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
<option>4</option> 
</select> 

JS

document.getElementByClass('.dropdown-test').value="3";