2016-06-20 1 views
0
var items = []; 

sessionStorage.setItem(items, JSON.stringify({ 
    name: itemName.val(), 
    model: model.val(), 
     qty: qty.val() 
})); 

console.log(JSON.parse(sessionStorage.getItem('item'))); 

Мне нужно иметь ключ массива в sessionStorage. Если это невозможно, как добавить дополнительные значения.Клавиша хранения кластера хранения

enter image description here

+0

вы имеете в виду для хранения элементов массива в памяти сеанса & elements массив будет иметь эти ключи? – brk

+0

_ «Мне нужно иметь ключ массива в sessionStorage» _? Какие ? – Rayon

+0

Да, мне нужен ключ для хранения в массиве. Этот элемент перезаписывает элемент каждый раз, когда я добавляю. – Rbex

ответ

0

Вы должны сначала нажать ключи и значения в массиве элементов. Затем подстройте его и сохраните в хранилище сеансов.

var items = []; 
items.push({ 
    name: itemName.val(), 
    model: model.val(), 
     qty: qty.val(); 
}) 

sessionStorage.setItem(items,JSON.stringify(items)); 
console.log(JSON.parse(sessionStorage.getItem('item'))); 
+0

Я обновил его с изображением, мне нужно иметь и массив, чтобы он не перезаписывал содержимое. – Rbex

1

Поскольку вы можете иметь только ключ в виде строки, я предлагаю один из следующих вариантов:

Вариант А

var items = []; 
items.push({ 
    name: itemName.val(), 
    model: model.val(), 
     qty: qty.val(); 
}) 

sessionStorage.setItem('items',JSON.stringify(items)); 

, а затем, чтобы получить пункт:

JSON.parse(sessionStorage.getItem('items')[theIndexYouWant]

Вариант B

для каждого элемента установить другой ключ по индексу:

items.forEach(function(el, index) { 
    sessionStorage.setItem('item' + index, JSON.stringify(el)) 
} 

, а затем, чтобы получить деталь:

JSON.parse(sessionStorage.getItem('item10'))