2016-07-10 3 views
0

로컬 저장 장치에 다른 값을 저장하기 위해 내 값을 증가시키고 싶습니다. 하지만 항상 0 =이 동작을 변경하려면 어떻게해야합니까?함수의 증가 값

(function() { 
    var i = 0; 
     var storage = new Storage(); 
    window.onload = function() { 
     document.getElementById('buttonCreate').onclick = function() { 
      var topicValue = document.getElementById("create-topic").value; 
      var statusValue = document.getElementById("create-status").value; 
      var descriptionValue = document.getElementById("create-description").value; 
      var ticket = { 
       topic: topicValue, 
       status: statusValue, 
       description: descriptionValue 
      }; 
      storage.set("task-"+i, ticket); 
     i++; 

     } 
    } 
})(); 
function Storage() { 
    this._ITEMS_DESCRIPTOR = 'items'; 
} 
Storage.prototype.get = function() { 
    var fromStorage = localStorage.getItem(this._ITEMS_DESCRIPTOR); 
    return fromStorage ? JSON.parse(fromStorage) : []; 
}; 
Storage.prototype.set = function(key, items) { 
    localStorage.setItem(key, JSON.stringify(items)); 
}; 
+0

'i'를'0'으로 설정 한 직후에'storage.set'을 호출하고, 그 사이에 절대 값을 증가시키지 마십시오. 매번 '0'으로 선언하는 것 외에는 저장소에있는 항목의 값으로 설정하십시오. 또한 increment를하고'storage.set'을 호출하십시오. –

+0

이전에 저장된 값을 가져 오지 않는다는 귀하의 [이전 질문] (http://stackoverflow.com/questions/38279021/incrementing-key-value-to-save-data-in-localstorage)에 이미 주석을 달았습니다. – Rajesh

+0

어떻게 이전에 저장된 값을 가져올 수 있습니까? –

답변

2

함수 외부에 var i = 0을 선언하십시오. 지금은 기능이 실행될 때마다 0으로 재설정됩니다.

+0

'window.onload'는 한 번만 실행됩니다. 이와 함께'(function() {...})()'의 항목은 한 번 실행됩니다. 그래서 나는 그것이 무엇을 할지를 보지 못합니다. –

+0

var i global을 만드시겠습니까? –