проблема с appendChild
столкнулся с такой проблемой:
на любую строку, кроме document.body.appendChild() ругается ошибкой Object #<NodeList> has no method 'appendChild' всё работает, но лишь под body в чём может быть проблема? |
Цитата:
Цитата:
Цитата:
|
андерстенд-то андерстенд), только нифига не работало)
впрочем, я уже разобрался. но теперь другая загвоздка у меня: не получается прописать в созданном селекте событие onchange. вот пример: var slct = document.createElement('SELECT'); slct.name = 'fish'; slct.onchange = 'setFishes(this)'; так ли прописывается это событие? |
Цитата:
Событием должна быть функция, а не строка... |
есть ли примеры? скиньте ссылку, пожалуйста. если не затруднит.
|
Цитата:
http://javascript.ru/tutorial/events...voystvo-obekta |
погоди, ты правильно всё понял?
у меня уже есть готовая функция, которая выполняется <select name="fish" onchange="setFishes(this)"> задача состоит в том, чтобы чтобы кликом создать точно такой же селект, с точно такими же атрибутами. нейм появляется, ончейндж нет. |
Цитата:
Цитата:
slct.onchange = function (){ // тут нужные действия... }; |
Вот еще на эту тему...
http://javascript.ru/tutorial/events/crossbrowser |
Если именно строкой, то:
slct.setAttribute('onchange', 'setFishes(this)'); |
Цитата:
есть форма, в которой есть 2 селекта: <div id="fich"> <select name="fish" onchange="setFishes(this)"> <option value="" selected>Первый список:</option> <option value="first">один</option> <option value="second">два</option> </select> <select name="color"> <option value="" selected>Второй список:</option> </select> </div> к первому есть функция function setFishes(chooser){ var newElem; var wtf = ( navigator.appName == "Microsoft Internet Explorer" ) ? -1 : null; var fishChooser = chooser.form.elements["color"]; while (fishChooser.options.length){ fishChooser.remove(0); } var choice = chooser.options[chooser.selectedIndex].value; var ki = fishki[choice]; newElem = document.createElement("option"); newElem.text = "Второй список:"; newElem.value = ""; fishChooser.add(newElem, wtf); if ( choice != "" ){ for (var i=0;i<ki.length;i++){ newElem = document.createElement("option"); newElem.text = ki[i].text; newElem.value = ki[i].value; fishChooser.add(newElem, wtf); } } } var fishki = new Object(); fishki["first"] = [ { value:"three", text:"три" }, { value:"four", text:"четыре" }, { value:"five", text:"пять" }, { value:"six", text:"шесть" } ]; fishki["second"] = [ { value:"seven", text:"семь" }, { value:"eight", text:"восемь" }, { value:"nine", text:"девять" }, { value:"ten", text:"десять" } ]; клонировать получилось всё. но теперь вот такая ошибка: Cannot read property 'length' of undefined. |
Часовой пояс GMT +3, время: 14:02. |