2014-11-19 2 views
0

Я новичок в localStorage. Я устанавливаю массив в localstorage, чтобы как можно получить это значение. Мой код, как показано ниже.Как получить данные массива localStorage.

$scope.lineItemID = data.id; 
        var itemtemp={ 
         "itemid": data.id, 
         "qty": $scope.quantity 
        }; 
        var itemqty=JSON.parse(localStorage.getItem("itemqty")) || []; 
        itemqty.push(itemtemp); 
        localStorage.setItem("itemqty", JSON.stringify(itemqty)); 

Так что мой вопрос, как я могу получить itemqty.qty согласно ItemID от LocalStorage

+1

Вы не можете 'нажать()' на обычный объект JS. – alex

+0

это похоже? Http: //stackoverflow.com/questions/8419354/get-html5-localstorage-keys –

+0

Так как добавить значение в массив для каждого элемента –

ответ

0

попытка Ниже кода

$.each(data.itemqty, function(index, item) { 

// добавление данных с использованием HTML // использовать item.name

}); 

ИЛИ попробовать ниже

$.each(data, function(idx, item){ 

// добавление данных с использованием HTML //

});

0

Вы просто создаете массив объектов itemqty и сохраняете его в хранилище браузера. Когда вы сделаете это:

var itemqty=JSON.parse(localStorage.getItem("itemqty")) || []; 
//itemqty is available to you as an array of objects. 

Предположит, что вы ищете соответствующее количество для некоторых itemid, хранящегося в переменной foo. Вам просто нужно пройти разобранную itemqty как так:

$.each(itemqty, function(index, value) { 
    if(value.itemid == foo) 
    { 
     console.log(value.qty); 
     // value.qty is the required quantity 
    } 
}); 
0
items=JSON.parse(localStorage.getItem('itemqty')); 

    for (var i = 0; i < items.length; i++) { 
     if(items[i].itemid === itmId) { 
      return items[i].qty; 
     }      
    } 

Я использую его & он работает

Смежные вопросы