Jquery和php wishlist - 如何检索数据?

时间:2017-11-29 17:46:12

标签: javascript jquery json

我有一个脚本,当你按下按钮时随机显示div。我想制作一个愿望清单页面,以便人们跟踪他们喜欢的内容。 我已经设置了一天的会话和cookie。这是我的剧本,它不起作用,但我不知道为什么......感谢您的帮助。

$(".places").hide();

$("#button").click(function(){
    "use strict";
     var randomNumber = Math.floor(Math.random()*45);
     var selectedDiv = "#place" + randomNumber;
     $('.places').hide().filter(selectedDiv).show();
     $(".wishlistbutton").click(localStorage.setItem(selectedDiv,JSON.stringify(wishlist)));
});

var wishlistkey = "wishlist";
var wishlist = localStorage.getItem(wishlistkey);

if($.isEmptyObject(wishlist)){
    wishlist = new Array()
} else {
    wishlist = JSON.parse(wishlist);
}

2 个答案:

答案 0 :(得分:0)

$.isEmptyObject方法不能按预期工作,因为您提供了一个字符串作为参数(期望的参数类型是一个普通的JS对象),实际上这在您的代码中是不必要的。

var wishlist = localStorage.getItem(wishlistkey);
if(!wishlist){
   wishlist = new Array()}
else {
   wishlist = JSON.parse(wishlist);
}

虽然您需要将密钥为wishlist而不是div id存储在localStorage中的JSON字符串。

localStorage.setItem('wishlist', JSON.stringify(wishlist))

答案 1 :(得分:0)

看起来你正在调用localStorage setItem并传入一个键,即div的名称(selectedDiv),但是你在一个名为“wishlist”的键上尝试getItem尝试在存储中设置项目此

<asp:TemplateField>
     <ItemTemplate>
       <asp:TextBox ID="Textbox1" runat="server" Text='<%# Eval("Quantity") %>'  
           visible= '<%# String.IsNullOrEmpty(DirectCast(Gridview1.Rows(Container.DisplayIndex).FindControl("Textbox1"), TextBox).Text) %>'>
       </asp:TextBox>
    </ItemTemple>
</TemplateField>