Установка кнопкой всех значений SELECT одинаково
Здравствуйте ,подскажите пожалуйста ,проблема следующая:
есть например элементы SELECT
<form id="form1" name="form1" method="post" action="">
<select name="myselectid" id="myselectid">
<option value="first">first </option>
<option value="second">second</option>
<option value="third">third</option>
</select>
<select name="myselectid" id="myselectid">
<option value="first">first </option>
<option value="second">second</option>
<option value="third">third</option>
</select>
<select name="myselectid" id="myselectid">
<option value="first">first </option>
<option value="second">second</option>
<option value="third">third</option>
</select>
</form>
Нужно создать кнопку, которая при нажатии устанавливала бы выбор одинаковый для всех элементов Select .... ну например чтобы выбирался пункт second везде вообще. пробовал так:
document.getElementById('myselectid').options[2].selected = 'true'
Но значение устанавливается только для первого select с ID myselectid Подскажите как для всех установить? |
http://cp77.byethost32.com/javascrip...and-javascript
описание этого глюка оттуда При динамическом заполнении списка через скрипт и последующей установке выделенного пункта через свойство selectedIndex или selected некоторые браузеры могут вести себя по разному. Так в браузере Opera проявляется такое поведение (баг) в добавлении пустых элементов в список, доступ к которым из скрипта невозможен (скрипт их не видит, зато пользователь видит и может их выбрать). Эти пустые лже-элементы списка появляются после установки свойства selectedIndex или selected. Для обхода этой ошибки в Opera используйте установку этих свойств через setTimeout с задержкой в 1мс: var objSel = document.getElementById("mySelect"); //Динамически создаем элементы списка objSel.options[0] = new Option("1-ая строка списка", "str0"); objSel.options[1] = new Option("2-ая строка списка", "str1"); //Выделяем второй элемент списка setTimeout( function(){objSel.options[1].selected=true;}, 1 ); да и наверное стоит обращаться не document.getElementById('myselectid').options[2].selected = 'true' а через форму |
Лавсановые Волокна, как вариант...
<!DOCTYPE html>
<html>
<head>
<style>
</style>
<script>
function Set() {
var o=document.getElementById('form1').getElementsByTagName('select')
var i
for (i=0; i<o.length; i++) {
o[i].selectedIndex=1
}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<select name="myselectid" id="myselectid">
<option value="first">first </option>
<option value="second">second</option>
<option value="third">third</option>
</select>
<select name="myselectid" id="myselectid">
<option value="first">first </option>
<option value="second">second</option>
<option value="third">third</option>
</select>
<select name="myselectid" id="myselectid">
<option value="first">first </option>
<option value="second">second</option>
<option value="third">third</option>
</select>
<br />
<br />
<input type='button' value='Set' onclick='Set()' />
</form>
</body>
</html>
|
id должен быть уникальным, а у вас 3 одинаковых...
|
| Часовой пояс GMT +3, время: 06:08. |