循环访问本地存储中的 json 列表
Iterate through a json list in local storage
我正在寻找一种循环访问列表的方法,以便我可以显示列表中的所有项目。现在它只显示一个保存的组合。当我单击('.se-saved').click(function()
时,每次都会得到相同的组合,它不会转到列表中的下一项。我是 JavaScript 的新手。这就是我到目前为止得到的。
$(document).on('click', '.save-btn', function(){
var saveDrink = data[num].name;
var saveFood = input;
var SaveAll = [];
SaveAll.push({saveDrink,saveFood});
var JSONFavorit = JSON.stringify(SaveAll);
localStorage.setItem("Favorit", JSONFavorit);
console.log(SaveAll);
alert("Your fav drink and food combo is now saved");
});
//runs when btn "Your saved comb" clicks on, the combo.html page
$('.se-saved').click(function(){
//get from localstorage
var favoriter = JSON.parse(localStorage.getItem("Favorit"));
console.log(favoriter);
$("#fave").append("<p> Drink: " + favoriter[0].saveDrink + ". Food: " + favoriter[0].saveFood + ".</p>");
});
是的!此代码中存在一些错误。首先,对象应该是键和值对。在这里,您将其称为数组。因此,它不会被保存并最终出错。因此,您必须确保它应采用以下格式。
SaveAll.push({'drink': saveDrink, 'Food': saveFood});
注意:键名应括在单引号中。
第二:你告诉过你每次都有相同的组合。是的!因为您已在 Click 函数中声明了数组。因此,每次单击它都会清除数组中的先前值,并且每次都是新数组。所以把它拿出来,如下所示。
var SaveAll = [];
$(document).on('click', '.save-btn', function(){
// some codes goes here.
});
一旦消除这些错误。迭代并获取保存在本地存储中的所有值将很容易。看看这个垃圾箱。
相关文章:
- 选择菜单,将json列表与单数值进行匹配
- 在javascript错误中将json列表传递给数组
- 如何循环浏览JSON列表
- 循环访问本地存储中的 json 列表
- JS+REST+NodeJS:如何从 JSON 对象解析 JSON 列表
- 在 ng-repeat 中添加和删除 JSON 列表
- 使用 Jquery 将 SelectListItems 的 JSON 列表映射到下拉列表 Select List 并指示
- 将对象追加到 JSON 列表
- 从控制器 MVC 返回的 JSON 列表中获取值
- 解析通过 ajax 返回的多个 json 列表
- 在JQuery / Javascript中加载从JSON列表返回的URL的最佳方法是什么
- AngularJS计算函数中的字符串,以调用json列表上的属性
- Json列表到javascript对象来构建一个表单
- 角度静态JSON列表不会呈现
- 按相反的顺序解析json列表
- 从自动填充的JSON列表中获取列表选项值,并传递给JS函数
- 如何在javascript文件中使用json列表文件绘制堆叠条形图
- 在JSON列表中拼接一个元素
- 从http://www.autorenlexikon.lu接收JSON列表
- 创建带有字符串和bool值对象的Json列表