Добавление нового поля фомы
Помогите, плиз
при нажатиии на кнопку добавляется новое поле формы, но для поля select надо, что бы все елементы option добавлялись тоже. Есть такой код: function addSelect(id) { var div = document.createElement("div"); div.innerHTML = "<select id=\"" + id + "\"></select>"; document.getElementById(id).appendChild(div); } Как добавить option елмента? |
Эт-то...
Ну, если уж используете функции манипуляции DOM, используйте их до конца. function addSelect(id) { var div = document.createElement("div"); var select = document.createElement("select"); div.appendChild(select); var myOptions = ["рыба", "мясо", "молоко", "вино", "водка", "яйца", "мыло"]; for (var i=0; i<myOptions.length; i++){ var option = document.createElement("option"); option.value = i; option.innerHTML = myOptions[i]; select.appendChild(option); } document.getElementById(id).appendChild(div); } Кстати, в Вашем коде после вставки селекта в документ, в документе же будут дублирующиеся id. |
В таком случае как удалять созданные обьекты select? Я пробую так, но не получается
function addField(id) { var div = $("#" + id + "s"); var selectId = $("#" + id); var mydiv = document.createElement("div"); newSelect = $(selectId).clone(true); mydiv.innerHTML = newSelect + "<input type=\"button\" value=\"-\" onclick=\"return deleteField(this)\" class=\"removeItem\" /><input type=\"button\" value=\"+\" onclick='return addField(\"" + id + "\")' class=\"addItem\" />"; $(div).append(mydiv); } Вместо копии Selecta в браузере выдае [objectObject] Как исправить |
У Вас каша в коде, Вы пытаетесь сложить объект со строкой.
Совет: абстрагируйтесь от html'ного представления тегов, работайте с ними исключительно как с объектами. И все получится. |
Часовой пояс GMT +3, время: 01:37. |