gpt4 book ai didi

javascript - 向 localStorage 对象添加元素

转载 作者:行者123 更新时间:2023-12-01 05:45:55 25 4
gpt4 key购买 nike

我有一个动态 ListView ,显示商店的各种优惠。我希望用户在从 ListView 中选择时能够保存这些优惠,以便使用 localStorage 生成保存的优惠功能。

我已经成功达到这样的程度:您可以通过在 ListView 中选择优惠来保存 1 个优惠。

选择 ListView 行时,它会从该特定选择中获取数据属性并填充一个数组,然后将该数组传递到 localStorage。

JS

var offerObject = '';                                                                                                                                                                           
$("#offers ul").on("click", ">li", function(event, ui) {
var offertitle = $(this).closest('li').attr('data-offer-title');
var offerdesc = $(this).closest('li').attr('data-offer-desc');
var offerexpiry = $(this).closest('li').attr('data-offer-expiry');

offerObject= {"offer":[
{
'offertitle': offertitle,
'offerdesc': offerdesc,
'offerexpiry': offerexpiry
}
]};
localStorage.setItem('offerObject', JSON.stringify(offerObject));
});

当进行另一个 ListView 选择时,我试图添加到 OfferObject 变量中,以生成一组已保存的优惠。

目前,如果我进行其他选择,则报价将被该列表行中新选择的属性所替换。

从类似的问题中,我了解到我需要使用 .push 才能执行此操作?任何建议将不胜感激,因为我很难做到这一点。

最佳答案

是的,这通常是通过 .push 完成的。步骤如下:

//create an offer
var offer = {
'offertitle': offertitle,
'offerdesc': offerdesc,
'offerexpiry': offerexpiry
};
// Add offer to the array of offers and save it
var offers = JSON.parse(localStorage.getItem('offers'));
// if offers is null just create an empty array []
if (offers === null || offers === undefined) {
offers = [];
}
offers.push(offer);
localStorage.setItem('offers', JSON.stringify(offers));

关于javascript - 向 localStorage 对象添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26908467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com