如何使用本地存储为单个密钥创建多个值

时间:2014-07-03 04:18:56

标签: javascript jquery html5 local-storage

众所周知,本地存储是一对关键值对。尝试为单个键创建多个值。但无法获得如何为单个密钥传递多个值。

这里很简单。

var value = "aa"
localStorage.setItem("testKey", value);
var test = localStorage.getItem("testKey");
alert(test);

现在,想要实现的目标testKey应该有aa, bb and cc个值。

如果有可能,请有人帮我拿样品。

注意:

  

localStorage值是否适用于原生应用。

3 个答案:

答案 0 :(得分:9)

localstorage无法做到这一点。但是,您可以将JSON字符串存储为键的值,通过一些后处理,您可以提取三个变量:

var value = ["aa","bb","cc"]
localStorage.setItem("testKey", JSON.stringify(value));
var test = JSON.parse(localStorage.getItem("testKey"));
alert(test);

答案 1 :(得分:3)

单个密钥在localStorage中只能有一个字符串值。您可以使用不同名称的多个键,也可以对值进行一些编码。例如,您可以将所有值放在Array中,然后使用JSON.stringify()对其进行编码,并将结果存储在localStorage中。当您读回数据时,可以使用JSON.parse()将其重新转换为数组。

答案 2 :(得分:0)

        <form>
    <label>Mortgage Amount</label>
    <input type="text" id="amount">
    <label>Interest Rate % </label>
    <input type="text" id="interest">
    <label>Mortgage Period (Years)</label>
    <input type="text" id="period">
    <input type="button" value="Submit" id="btn">
    <input type="button" value="GetLocalStorage" id="localbtn">
</form>
           <script>
$(document).ready(function () {

    $("#btn").click(function () {

        var principal = $("#amount").val();
        var interest = $("#interest").val();
        var years = $("#period").val();
        var item = [];
       item.push(principal,interest,years);
       localStorage.item += JSON.stringify({ "principalAmount": principal, "interestAmount": interest, "Period": years });


    });