Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.11.2011, 01:34
Новичок на форуме
Отправить личное сообщение для stepennwolf Посмотреть профиль Найти все сообщения от stepennwolf
 
Регистрация: 01.11.2011
Сообщений: 3

Динамическое добавление выпадающего списка В 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">". Хотя даже и с таким кодом список пуст.
Возможно кто-то сталкивался с подобной проблемой, решение необходимо срочно?
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2011, 02:20
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

nasqad, причём здесь это?

stepennwolf, вы создаёте список в списке. То есть, сначала вы создаёте элемент select, а потом через innerHTML добавляете к нему в потомки select. Неудивительно, что ie глючит.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #3 (permalink)  
Старый 01.11.2011, 19:51
Новичок на форуме
Отправить личное сообщение для stepennwolf Посмотреть профиль Найти все сообщения от stepennwolf
 
Регистрация: 01.11.2011
Сообщений: 3

nasqad спасибо за помощь, не знал о методе cloneNode(), теперь заработало)))
trikadin удивительно/неудивительно но тот способ который я описал выше создавал валидный список и работал корректно на всех браузера, а вот в IE капризничал, возможно есть какие-то особенности о которых я не знаю. Я не профи в DOM модели.
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2011, 17:36
UDN UDN вне форума
Аспирант
Отправить личное сообщение для UDN Посмотреть профиль Найти все сообщения от UDN
 
Регистрация: 18.06.2009
Сообщений: 55

Я наверно не выспался, но почему ваш код не работал только в IE((
Цитата:
<select name="name-val" id="id-va">
var listContainers = document.getElementsByName("user-type")
откуда взялся "user-type", и что возвращает listContainers.length ?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор элемента из выпадающего списка Naik jQuery 0 21.07.2011 13:49
Сокращение списка выпадающего меню. Predatorbbs Элементы интерфейса 3 22.11.2010 15:23
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40
ПРограмирование выпадающего списка Chyvak Общие вопросы Javascript 6 24.07.2010 09:52
Динамическое обновление списка select (продолжение мытарств) macam Элементы интерфейса 2 25.06.2008 16:04