Динамическое добавление выпадающего списка В IE
Добрый вечер, имеется проблема такого вида: На странице есть таблица выводящая данные из БД. В определенной ячейке каждой строки таблицы имеется кнопка, при нажатии на которую, в соседней ячейке, вместо обычного текста появляется выпадающий список.
Список создается динамически, путем копирования уже имеющегося на странице такого списка <select> в innerHTML ячейки <td></td>. Прототип имеющегося списка такой: <select name="name-val" id="id-va"> <option value="0">Значение 1</option> <option value="1">Значение 2</option> <option value="2">Значение 3</option> <option value="3">Значение 4</option> </select> Содержимое списка получаю таким образом: var listContainers = document.getElementsByName("user-type").item(0).innerHTML Далее создаю новый список в ячейке и заношу туда содержимое полученного ранее списка: var inputSelect = document.createElement( "select" ); inputSelect.innerHTML = listContainers; После этого список появляется и работает корректно во всех браузерах, НО, как часто бывает, в IE этот список выводится пустым. При просмотре содержимого нового списка через alert: alert(inputSelect.innerHTML) В IE он почему-то равен: "Значение 1</option> <option value="1">Значение 2</option> <option value="2">Значение 3</option> <option value="3">Значение 4</option>" Т.е. без открывающего тега "<option value="1">". Хотя даже и с таким кодом список пуст. Возможно кто-то сталкивался с подобной проблемой, решение необходимо срочно? |
nasqad, причём здесь это?
stepennwolf, вы создаёте список в списке. То есть, сначала вы создаёте элемент select, а потом через innerHTML добавляете к нему в потомки select. Неудивительно, что ie глючит. |
nasqad спасибо за помощь, не знал о методе cloneNode(), теперь заработало)))
trikadin удивительно/неудивительно но тот способ который я описал выше создавал валидный список и работал корректно на всех браузера, а вот в IE капризничал, возможно есть какие-то особенности о которых я не знаю. Я не профи в DOM модели. |
Я наверно не выспался, но почему ваш код не работал только в IE((
Цитата:
откуда взялся "user-type", и что возвращает listContainers.length ? |
Часовой пояс GMT +3, время: 04:12. |