Посреди HTML-документа для формирования выпадающего списка вставляю такой код:
<script type="text/javascript">
ml = new YMaps.YMapsML( 'http://wsus.spb.ru/xml/intertorg.xml' );
str = '<select>';
YMaps.Events.observe(ml, ml.Events.Load, function (ml) {
ml.get(0).forEach(function (item) {
str = str + '<option value="' + item.id + '">' + item.name + ' ' + item.description + '</option>';
});
// для проверки вставил alert(str); // на этом моменте строка сформирована, ЭТОТ АЛЕРТ СРАБАТЫВАЕТ после выполнения всего остального
// для проверки вставил document.write(str); // в документ почему-то отсюда ничего не пишется
});
// alert(str); // а тут моей строки уже нет, ЭТОТ АЛЕРТ СРАБАТЫВАЕТ РАНЬШЕ вышестоящего
str = str + '</select>';
document.write(str); // в документ пишется только <select></select>, и только потом к строке добавляются пункты <option> и срабатывает первый alert
</script>
Не совсем разобрался в проблеме... Подскажите как сделать правильно, заранее благодарен за ответы )
проект живёт тут: http://wsus.spb.ru/, там внизу два списка... нижний сформирован руками, верхний с использованием javascript