Непонятки c appendChild()

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
ILay
Сообщения: 34
Зарегистрирован: 06 мар 2006, 13:42

Имею следющий код:

Код: Выделить всё

<html>
<script>
function prop_get(obj) {
   sel = '<select MULTIPLE>'+
   ' style="width:100 px; height: 150 px;" '+
   ' </select>';
   var oSelect = document.createElement(sel);
   obj.appendChild(oSelect); // вот тут пишет ошибку
}
</script>
<input name="grp_ids[]" id="grp_ids[]"
type=checkbox value = 1
onclick="prop_get(this);"
style="width: 15px">Должон появиццо селект

</html>
ИЕ ругаеццо матом: "Неожыданный вызов метода или обращение к свойству".
Чтобы это могло быть? Вроде чекбокс держыт эти методы.. +(
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

ILay,

Код: Выделить всё

<html>
<script>
function prop_get() {
   var oSelect = document.createElement('<select></select>');
   var x = document.getElementById('test');
   x.appendChild(oSelect);
}
</script>
<div id="test">
<input type="checkbox" onclick="prop_get(this);">Должон появиццо селект

</div>
</html> 
<input> не имеет закрывающего тэга.
appendChild - пытается запихнуть новый HTML-элемент между последним дитём (у твоего инпута нету ни одного) и закрывающим тэгом.
И у него ничего не получается ))

Я добавил ТЭГ <div>, который будет обрамлять всю эту конструкцию и новый селект будет создаваться в нём в конце, после


Если такой вариант не подходит - пиши, будем думать.

Кстати, сделай пару раз check/uncheck твоего инпута, правда забавно получается? ;-)


P.S. Чую следующий вопрос будет о том, как его удалить ...
ILay
Сообщения: 34
Зарегистрирован: 06 мар 2006, 13:42

Сенкз э лот!
Див прокатит на ура.
За теорчасть с чайлдом отдельное спасибо.
Хрен бы сам до таких ньюансоф допер.
С удалением-то все просто: document.all.tags('select').removeNode();
+)
ILay
Сообщения: 34
Зарегистрирован: 06 мар 2006, 13:42

Факин Мокросовт!
У них в МСДНе написано, что вообще все инпуты поддержывают AppendChild().
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

ILay, можно прямую ссылку?
ILay
Сообщения: 34
Зарегистрирован: 06 мар 2006, 13:42

Тут дажэ пример есть, только со спизком:

http://msdn.microsoft.com/library/defau ... type_7.asp
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

ILay, да? занятно ... у тебя пример есть, у меня - нету ..

в МСДН обычно правду пишут, читать только нужно правильно.
Ответить