Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2017, 19:51
Интересующийся
Отправить личное сообщение для imult87 Посмотреть профиль Найти все сообщения от imult87
 
Регистрация: 21.04.2016
Сообщений: 14

Получить все значения javascript обьекта!
Вот у меня есть к примеру код:
var inventory = {};
inventory.coin1 = "<b>1 Рубль 1890 года</b>";
inventory.coin2 = "<b>2 Рубля 1890 года</b>";
inventory.coin3 = "<b>3 копейки 1890 года</b>";
inventory.coin5 = "<b>5 Рублей 1890 года</b>";


inventory - добавляю в обьект 4 позиции, мне нужно следующее получить и вывести все эти позиции к примеру в div блок c id='inv', получить нужно именно сами значения. Как поштучно вывести я знаю, в цикле выводит только последние значение, а как сделать так что бы разом вывести все в div блок, я постепенно буду наполнять этот обьект, и всегда нужно что бы выводилось все в блок на страницу, что бы я видел все элементы обьекта. К примеру после пополнения блок должен выглядеть так!
<div id='inv'>
<b>1 Рубль 1890 года</b>
<b>2 Рубля 1890 года</b>
<b>3 копейки 1890 года</b>
<b>5 Рублей 1890 года</b>
</div>

Это как бы инвентарь, и туда будет все падать я даже не знаю правильный ли я выбрал подход для данной задачи! Помогите разобраться пожалуйста, я новичок в этом деле подскажите маленько, или ссылки на что то похожее!
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2017, 20:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

imult87,
в чём проблема сформировать строку с помощью for in и вставить в innerHTML
https://learn.javascript.ru/object-for-in#for..in

Последний раз редактировалось рони, 16.03.2017 в 20:14.
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2017, 22:20
Интересующийся
Отправить личное сообщение для imult87 Посмотреть профиль Найти все сообщения от imult87
 
Регистрация: 21.04.2016
Сообщений: 14

Ну вот я к примеру так делаю!
for (key in inventary) {
	$('#inv').html(inventary[key]);
}

Выводит лишь последний элемент, можете поподробнее обьяснить может я что то не то делаю? Есть примеры нужного мне решения?
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2017, 22:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сообщение от imult87
можете поподробнее обьяснить может я что то не то делаю
1.
Сообщение от рони
сформировать строку
2 вставить строку.
var str ="";
for (key in inventary) { 

str+= inventary[key]
 }
 $('#inv').html(str);
Ответить с цитированием
  #5 (permalink)  
Старый 17.03.2017, 00:50
Интересующийся
Отправить личное сообщение для imult87 Посмотреть профиль Найти все сообщения от imult87
 
Регистрация: 21.04.2016
Сообщений: 14

Спасибо что помогаете завтро попробую отпишусь, и плюсану:-)
Ответить с цитированием
  #6 (permalink)  
Старый 17.03.2017, 11:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сообщение от Ruslan_xDD
b.innerHTML = inventory[i];
Ответить с цитированием
  #7 (permalink)  
Старый 17.03.2017, 11:41
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

если нужны свойства только из объекта (но не из прототипа), то надо проверять hasOwnProperty в цикле for in
Ответить с цитированием
  #8 (permalink)  
Старый 17.03.2017, 12:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

imult87,
для новых браузеров можно так
<div id='inv'></div>
 <script>
 var inventory = {};
inventory.coin1 = "<b>1 Рубль 1890 года</b>";
inventory.coin2 = "<b>2 Рубля 1890 года</b>";
inventory.coin3 = "<b>3 копейки 1890 года</b>";
inventory.coin5 = "<b>5 Рублей 1890 года</b>";
document.getElementById('inv').insertAdjacentHTML('beforeEnd',Object.values(inventory).join("<br>"));

  </script>
Ответить с цитированием
  #9 (permalink)  
Старый 17.03.2017, 13:37
Интересующийся
Отправить личное сообщение для imult87 Посмотреть профиль Найти все сообщения от imult87
 
Регистрация: 21.04.2016
Сообщений: 14

рони, Все работает то что мне было нужно спасибо! Всем остальным так же спасибо за помощь!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить значения из inputов в матрицу failoflife jQuery 7 07.04.2016 19:00
Bootstrap slider, получить значения. arch Общие вопросы Javascript 0 01.04.2013 15:43
Получить все инпуты по заданоой маске nws Общие вопросы Javascript 2 09.09.2009 01:46
Передать все значения списка разом LRCenter Элементы интерфейса 10 23.06.2009 12:29
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37