Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Динамическое обновление списка Select (https://javascript.ru/forum/events/1292-dinamicheskoe-obnovlenie-spiska-select.html)

Fender 10.06.2008 17:37

Динамическое обновление списка Select
 
Суть задачи в следующем, есть элемент Select, изначально он пустой.
<select id="sel">
</select>

Затем в него нужно с помощью скрипта поместить список опций, допустим
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>

Эти значения хранятся в переменной data. В FF у меня это получилось, а вот с IE6 и IE7 не работает.
Вот код скрипта

function get_id(target)
{	
	if (document.all)
	{
		return document.all[target];
	}
	else
	{
		return document.getElementById(target);
	}	
}

eval(get_id('sel').innerHTML=data);


В принципе, в данном случае можно было и без eval, но в общем случае целевой элемент может быть просто DIV, а в переменной data может бытьи JS-код. Но это так, лирическое отступление. Вопрос в том, как заставить IE поместить значения в список,т.е. заставить обработать значение переменной data как HTML. Сам тег Select должен остаться без изменения, т.к. в нем прописан ID, который за ранее не известен и обработчик onChange

Kolyaj 10.06.2008 22:23

Использовать DOM-методы document.createElement('OPTION') и appendChild. С innerHTML не выйдет.

Fender 11.06.2008 09:22

Понятно, спасибо.

Андрей Параничев 12.06.2008 21:30

Возможно вам поможет мой ответ в этой теме. Там решается подобная задача.


Часовой пояс GMT +3, время: 11:15.