您好我是初学者网站开发人员,我正在尝试将简单电子商务网站的界面构建为个人项目。该网站有多个页面,带有复选框。
当有人检查元素时
但是当我转到下一页并点击新复选框产品时,变量会自动重置到原始状态。
如何在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;
}
})
答案 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)
如上所述,您可以使用sessionStorage
或localStorage
。可用的另一个选项是HTML5 Web Databases
并查看this presentation。
另请注意,html5网络存储不安全,因为任何人都可以通过控制台轻松查看存储的数据。