我对此代码有疑问:
$('#hledat').click(function() {
var test = $('#mesto').val();
localStorage.setItem("test", test);
});
$('#val').text(localStorage.getItem("test"));
它运作良好,但我需要创建多个搜索历史记录 - 例如,最近5次搜索 - 并显示它们。像这样,但它只显示最后一次搜索。有什么想法吗?
答案 0 :(得分:1)
localStorage
一次只存储一个键/值对。如果要在单个键中存储多个值,并按顺序,可以在localStorage
中放置一个序列化数组,您可以根据需要进行反序列化和修改。试试这个:
$('#hledat').click(function() {
addToHistory($('#mesto').val());
});
$('#val').text(getHistory()[0] || ''); // shows latest item
var getHistory = function() {
return JSON.parse(localStorage.getItem("test")) || [];
}
var addToHistory = function(value) {
var history = getHistory();
history.unshift(value);
localStorage.setItem('test', JSON.stringify(history.slice(0, 5)));
}