Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2017, 20:23
Аспирант
Отправить личное сообщение для serj0110 Посмотреть профиль Найти все сообщения от serj0110
 
Регистрация: 22.10.2016
Сообщений: 32

Как создать элемент из объекта
Всем привет, возник такой вопрос, как создать элемент из данных объекта?
Примерно такой объект:
var filters = {
	0: {
		name: "name",
		type: "text",
		maxLength: 20,
		required: !0,
	}
};
Ответить с цитированием
  #2 (permalink)  
Старый 10.06.2017, 20:27
Кандидат Javascript-наук
Отправить личное сообщение для Diphenyl Oxalate Посмотреть профиль Найти все сообщения от Diphenyl Oxalate
 
Регистрация: 21.01.2017
Сообщений: 139

var elem = document.createElement("INPUT");

for (var i in filters[0]) elem.setAttribute(i, filters[i][0]);
Ответить с цитированием
  #3 (permalink)  
Старый 10.06.2017, 20:34
Аспирант
Отправить личное сообщение для serj0110 Посмотреть профиль Найти все сообщения от serj0110
 
Регистрация: 22.10.2016
Сообщений: 32

Цитата:
var elem = document.createElement("INPUT");

for (var i in filters[0]) elem.setAttribute(i, filters[i][0]);
Спасибо больше, этот вариант тоже отличный, но мне не подходит, так как в объекте их может быть куда больше, но это была уже моя ошибка, точнее мысль выражать нужно мне)
Ответить с цитированием
  #4 (permalink)  
Старый 10.06.2017, 20:42
Кандидат Javascript-наук
Отправить личное сообщение для Diphenyl Oxalate Посмотреть профиль Найти все сообщения от Diphenyl Oxalate
 
Регистрация: 21.01.2017
Сообщений: 139

Ну тогда нужен ещё один цикл по filters:

for (var i in filters) {
  var elem = document.createElement("INPUT");
  for (var j in filters[i]) elem.setAttribute(j, filters[i][j]);
  target.appendChild(elem); // target ваш
}
Ответить с цитированием
  #5 (permalink)  
Старый 10.06.2017, 20:45
Аспирант
Отправить личное сообщение для serj0110 Посмотреть профиль Найти все сообщения от serj0110
 
Регистрация: 22.10.2016
Сообщений: 32

Цитата:
Ну тогда нужен ещё один цикл по filters:
Абсолютно прав, примерно так и вышло)
Вот пример того что у меня получилось:
var filters = {
	1: {
		13: {
			87: {
				0: {
					name: "location",
					type: "text",
					className: "add",
					maxLength: 20,
					placeholde: "Введите город...",
					required: !0,
					text: "Местоположение *"
				}
			}
		}
	},
	2: {
	},
	3: {
	},
	4: {
	},
	5: {
	},
	6: {
	},
	7: {
	},
	8: {
	},
	9: {
	},
	10: {
	},
	11: {
	},
	12: {
	}
};

drawForm: function(_category) {
		let filter = filters;
		$.each(_category, function(i, v) {
			filter = filter[v];
		});
		let el_form = document.createElement("div");
		el_form.className = "form_data";
		$.each(filter, function(i_1, v_1) {
			let el_info = document.createElement("div");
			el_info.className = "info";
			let el_input = document.createElement("input");
			let el_div = document.createElement("div");
			el_div.className = "title";
			$.each(v_1, function(i_2, v_2) {
				if ( i_2 === "text" ) {
					el_div.innerText = v_2;
				} else {
					el_input[i_2] = v_2;
				}
			});
			el_info.append(el_div, el_input);
			el_form.append(el_info);
		});
		$(".main > form > .forums").append(el_form);
	}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить свойсвто объекта? Armen Общие вопросы Javascript 4 19.10.2014 06:45
Как найти node элемент по позиции в html документе и обратоно meded90 Общие вопросы Javascript 0 06.09.2014 22:45
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как передать элемент в переменную из функции kichSman jQuery 3 12.07.2011 22:16
как создать елемент с вложеными елементами scuter Events/DOM/Window 11 14.05.2008 16:15