2016-05-22 2 views
1

Я пытаюсь сохранить переменные числа js с помощью sessionstorage, но когда я извлекаю переменные из хранилища, они ведут себя как строковые переменные, когда я добавляю их вместе. Я думаю, что это могло бы иметь что-то делать с тем, как я храню переменную с помощью sessionStorage.setItem, но не уверен, чтопеременная хранения сессии, хранящаяся как строка

Я сохранил код на http://codepen.io/MHUMPHRI/pen/bpXpPm

Любая помощь очень ценится. Приветствия. Майк

<html> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 

OUTPUT TOTAL IS: 
<div id="TotalOutput"></div> 
<br> 

<script> 
    $(document).ready(function() { 
      InputTotals() 
      OutputTotals() 
     }); 
</script> 

</html> 

<script> 

var input1 = 222 
var input2 = 111 
var input3 = 777 
var input4 = 777 

function InputTotals() { 
    var totalA = input1 + input2; 
    var totalB = input3 + input4; 
    sessionStorage.setItem("TotalA", totalA); 
    sessionStorage.setItem("TotalB", totalB); 
} 

function OutputTotals() { 
    var output1 = sessionStorage.getItem("TotalA"); 
    var output2 = sessionStorage.getItem("TotalB"); 
    var totaloutput = output1 + output2; 
    $("#TotalOutput").html(totaloutput); 
} 

</script> 
+0

сводится к Webstorage сохроняется данные как строки, так что если вам нужно возвращается как число нужно будет подавать на номер снова после 'GetItem()' – charlietfl

+0

веселит , что объясняет, где я ошибся! – MikeMcClatchie

ответ

0

попробуйте разбора строки:

function OutputTotals() { 
    var output1 = JSON.parse(sessionStorage.getItem("TotalA")); 
    var output2 = JSON.parse(sessionStorage.getItem("TotalB")); 
    var totaloutput = output1 + output2; 
    $("#TotalOutput").html(totaloutput); 
} 
+0

Спасибо, что отлично работает – MikeMcClatchie

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