Javascript.RU

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

Добавление нового поля фомы
Помогите, плиз
при нажатиии на кнопку добавляется новое поле формы, но для поля select надо, что бы все елементы option добавлялись тоже.

Есть такой код:
function addSelect(id) {
var div = document.createElement("div");
div.innerHTML = "<select id=\"" + id + "\"></select>";
document.getElementById(id).appendChild(div);
}

Как добавить option елмента?

Последний раз редактировалось Octane, 27.11.2009 в 16:56. Причина: используйте теги [html] и [js] для оформления кода
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2009, 19:02
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Эт-то...
Ну, если уж используете функции манипуляции 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.
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2009, 19:57
Новичок на форуме
Отправить личное сообщение для andrew123 Посмотреть профиль Найти все сообщения от andrew123
 
Регистрация: 27.11.2009
Сообщений: 4

В таком случае как удалять созданные обьекты 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]
Как исправить

Последний раз редактировалось Octane, 27.11.2009 в 21:14. Причина: http://javascript.ru/formatting
Ответить с цитированием
  #4 (permalink)  
Старый 27.11.2009, 22:41
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

У Вас каша в коде, Вы пытаетесь сложить объект со строкой.
Совет: абстрагируйтесь от html'ного представления тегов, работайте с ними исключительно как с объектами. И все получится.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить поля, чтоб не чистились атрибуты value Alazaur Events/DOM/Window 5 16.09.2009 19:49
Добавление и удаление полей в форму anoth3r Events/DOM/Window 1 11.09.2009 15:10
Подгружаемые поля формы AlexJ AJAX и COMET 2 26.06.2009 18:04
Динамическое добавление нового option в form artwalek Элементы интерфейса 19 24.04.2009 17:42
Динамическое клонирование поля и AJAX supercelt AJAX и COMET 6 02.09.2008 11:27