1

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

当有人检查一个元素时

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

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

如何在 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;


                }
            })
4

3 回答 3

4

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

使用存储值sessionStorage

sessionStorage['value key'] = 'value to store';

使用存储值

alert(sessionStorage['value key']);  // Alerts "value to store".
于 2012-06-02T15:38:56.510 回答
2

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

从存储中读取:

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

写入存储:

localStorage['valueName'] = input.value;

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

于 2012-06-02T16:17:03.870 回答
1

如上所述,您可以使用sessionStoragelocalStorage。另一个可用的选项是HTML5 Web Databases 并查看此演示文稿

还要记住,html5 网络存储并不安全,因为任何人都可以从控制台看到您存储的数据。

于 2012-06-02T16:34:57.523 回答