基本上我必须阅读HTML表的内容并将此日期保存在cookie中。然后红色这个cookie重新填充同一个表ater页面重新加载(在第一个表中是在jquery中生成的)
所以我有一个HTML表格
<table>
<tr>
<td>Name1</td>
<td>Value1</td>
</tr>
<tr>
<td>Name2</td>
<td>Value2</td>
</tr>
</table>
保存我使用的cookie
document.cookie = 'orderArray = '+table;
我必须以格式保存他的单元格的cookie内容:
name1:value1;name2:value2
如果我接下来会得到这种形式的转储,我可以在php中进行重新填充表格。那么,如何将这个HTML表转储到这个表单或者可能有一个人有更好的想法?
答案 0 :(得分:0)
我建议您使用html5的localStorage功能代替cookie。
获取您的表数据并将其放入数组中。然后将其存储在localstorage中,如。
var values = getTableData(); //这应该返回数组
window.localStorage.setItem(key,JSON.stringify(values));
检索数据
var values = JSON.parse(window.localStorage.getItem(key));
localStorage再次优于cookie
答案 1 :(得分:0)
我无法使用HTML5功能,因为我必须支持IE8:/。
但我解决了这个问题。
首先我制作一个jQuery数组。接下来使用 .toString()函数将其转换为字符串,最后保存到cookie。
orderArray = [];
var data = new Date();
var days = 1;
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires="+date.toGMTString();
jQuery('table tr').each(function(){
var name = jQuery(this).find('.sec').text();
var qty = jQuery(this).find('input').attr('value');
orderArray.push(name+"^"+qty);
});
document.cookie = 'orderArray = /'+orderArray.toString()+'/;'+expires;
我在cookie数据中使用了斜杠和证书,以便在使用 .split()函数后轻松读取数据
table = document.cookie.split("/");
table = table[1].split(',');
arrayInsert = 0;
table.each(function(){
tablee = table[arrayInsert].split("^");
countOrderItems++
jQuery('table tbody').append('<tr><td>'+tablee[0]+'</td><td><input type="text" value="'+tablee[1]+'"></td><</tr>');
arrayInsert++;
});
我希望它对其他人有帮助:)。
P.S。我使代码比我的页面更短/更简单。我希望我没有错过任何一段代码