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'
а через форму