我希望能够刷新页面并让我的表格仍然排在左边。我想用本地存储而不是jQuery插件来做这件事。
该表排序,但我不明白为什么localStorage不保存它最后离开的顺序。
我在localStorage上做错了什么?
我的排序表函数在每次排序后调用saveLocalStorage()函数。
function sort_book_table(tbody, col, asc) {
... sorts ...
saveLocalStorage();
}
function saveLocalStorage(){
var table_layout = $('#bookTable')[0].innerHTML;
localStorage.setItem(table_layout);
}
提前感谢您的帮助
编辑:添加快速小提琴https://jsfiddle.net/1k901cdr/
答案 0 :(得分:2)
localStorage.setItem
需要一个键和一个值。
localStorage.setItem('foo'); // incorrect
localStorage.setItem('foo', 'bar'); // correct
答案 1 :(得分:1)
localStorage对象为原点提供存储对象。
您错过了localStorage.setItem(table_layout);
中的第二个参数。请尝试使用以下代码段进行localStorage
上的所有操作。
// Setting the Value.
localStorage.setItem("keyName", "value"); // Syntax
localStorage.setItem("table_layout", table_layout); // by variable
localStorage.setItem("table_layout", "dsdssd"); // by value
// Get the value.
localStorage.getItem("table_layout");
// Clear one item.
localStorage.removeItem("table_layout");
// Clear all items.
localStorage.clear();
参考:
https://www.w3.org/TR/webstorage/#the-localstorage-attribute
https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage
http://www.w3schools.com/html/html5_webstorage.asp
答案 2 :(得分:0)
你错过了关键值。
localStorage.setItem('layout', table_layout);
答案 3 :(得分:0)
根据Micah的回答,setItem接受两个参数,一个键和一个值。
ChildForm Y = new ChildForm();
Y.MdiParent = this //X is the parent form
Y.Show();
但是,您似乎也试图在localStorage中保存表的整个HTML。您应该只保存排序列和方向。以下是更新的函数,这些函数将保留列的排列和方向。
localStorage.setItem('foo', 'bar'); // correct