Javascript存储数据

时间:2012-06-02 15:36:17

标签: javascript jquery

您好我是初学者网站开发人员,我正在尝试将简单电子商务网站的界面构建为个人项目。该网站有多个页面,带有复选框

当有人检查元素时

  • 它会检索元素的价格和
  • 将其存储在变量中。

但是当我转到下一页并点击新复选框产品时,变量会自动重置到原始状态。

如何在Javascript中保存该变量的值?我正在使用 jQuery 库。

编辑:这是我使用sessionStorage编写的代码,但是当我移动到下一页重置值时它仍然不起作用。

我怎样才能对这段代码做出反应,这样我就不会在每次更改页面时重置。我网站上的所有页面都使用相同的脚本。

$(document).ready(function(){
         var total = 0;



            $('input.check').click(function(){
                if($(this).attr('checked')){
                    var check = parseInt($(this).parent().children('span').text().substr(1 , 3));
                    total+=check;
                    sessionStorage.var_name=0 + total;
                    alert(sessionStorage.var_name);

                }else{
                    var uncheck = parseInt($(this).parent().children('span').text().substr(1 , 3));
                    total-=uncheck;


                }
            })

3 个答案:

答案 0 :(得分:4)

sessionStorage的语法很简单,它会在浏览器窗口关闭之前保留它的数据。它的行为与任何其他javascript对象完全相同。您可以使用点符号或方括号表示法(带空格的键所需)来访问存储的值。

使用sessionStorage

存储值
sessionStorage['value key'] = 'value to store';

使用储值

alert(sessionStorage['value key']);  // Alerts "value to store".

答案 1 :(得分:2)

您可以使用localStorage来完成此操作。您需要使用localStorage设置它的后备,但是可以这样做:

从存储中读取:

if (localStorage['valueName'] !== undefined) {
    input.value = localStorage['valueName'];
}

写入存储:

localStorage['valueName'] = input.value;

这是一个jsfiddle示例:http://jsfiddle.net/yJjLe/

答案 2 :(得分:1)

如上所述,您可以使用sessionStoragelocalStorage。可用的另一个选项是HTML5 Web Databases 并查看this presentation

另请注意,html5网络存储不安全,因为任何人都可以通过控制台轻松查看存储的数据。