Установка кнопкой всех значений 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, время: 02:46. |