Добавление нового поля фомы
Помогите, плиз
при нажатиии на кнопку добавляется новое поле формы, но для поля 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, время: 04:55. |