无法在本地存储中存储值

时间:2014-02-24 09:36:40

标签: javascript html5 jsonp local-storage

我从Web服务中获取了一个项目列表,现在我想存储我单击的item_name。我不能存储该项目名称,如果它的“面包黄油”,它只存储“面包”。 我现在该怎么办?

<script>
var sub_catidall = [];
var sub_catnameall = [];

function selected_index(sub_cat_name_all) {
    alert("selected sub category" + sub_cat_name_all);
    //window.localStorage.setItem("current_sub_id_all",sub_cat_id_all);
    window.localStorage.setItem("DishName", sub_cat_name_all);
    window.open("MenuDetails.html", "_self");
}

function jsondata(data) {
    var parsedata = JSON.parse(JSON.stringify(data));
    var sub_category = parsedata["Item List"];

    for (var i = 0; i < sub_category.length; i++) {
        var sub_menuall = sub_category[i];
        sub_catidall = sub_menuall['menuItemId'];
        sub_catnameall = sub_menuall['menuItemName'];
        //alert(sub_catnameall);

        var id = document.createElement("table");

        if ((i % 2) == 0) {
            id.innerHTML += '<br><td><a href="#" id=' + sub_catnameall + ' onclick="selected_index(this.id)"><strong><font face="DEVROYE">' + sub_menuall['menuItemName'] + '</a></td></strong>';
            document.getElementById("block_left").appendChild(id);

        } else {
            id.innerHTML += '<br><tr><td><a href="#" id=' + sub_catnameall + ' onclick="selected_index(this.id)"><strong><font face="DEVROYE">' + sub_menuall['menuItemName'] + '</a></td></strong>';
            document.getElementById("block_right").appendChild(id);
        }
    }
}

jsonp("http://remoteaddress/hotelTab/menuitem.php?callback=jsondata&mCatId=" + window.localStorage.getItem('current_id') + "&menuCategoryId=" + window.localStorage.getItem('current_sub_id'));
</script>

2 个答案:

答案 0 :(得分:1)

DOM Storage Guide

实施例

var string = 'Bread Butter';

localStorage.setItem("DishName", string);

alert(localStorage.getItem('DishName'));

jsFiddle

答案 1 :(得分:0)

我使用Amplifyjs store库来访问本地存储 它使用/理解简单,工作得很好,也是跨浏览器(移动浏览器)

希望这有助于