[英]How to generate one object key with an array of stored values from multiple on click events using localstorage and Jquery
[英]How to access keys and values from Array of object stored in localstorage
我正在asp.net網頁上的購物車上工作。 我將產品信息以對象的形式存儲在一個數組中,並在用戶單擊“添加到購物車”按鈕時保存在localStorage
,並希望在購物車頁面上訪問該信息。 添加到購物車按鈕上的onclick事件會調用一個函數,並向javascript發送三個值,作為這樣的參數。
onclick="Add('@Row.P_ID','@Row.P_Name','@Row.P_Price')"
這是產品的我的HTML代碼。
<div class="row">
@foreach (var Row in db.Query(slctquery))
{
var pid = Row.P_ID;
<div class="col-xs-18 col-sm-6 col-md-3">
<div class="thumbnail" style="margin-bottom:10px;">
<img src="@Url.Content(Row.P_Image)" alt="Product Image" style="height:200px;">
<div class="caption">
<h3>@Row.P_Name</h3>
<p style="font-size:large" id="UPrice">@Row.P_Price</p>
<p><a href="@Url.Action("ProductDetail","Home",new{pid=pid})" class="btn btn-info" role="button">View Detail</a>
<a onclick="Add('@Row.P_ID','@Row.P_Name','@Row.P_Price')" id="'@Row.P_ID'" class="btn btn-info" role="button">Add to Cart</a></p>
</div>
</div>
</div>
}
</div><!-- End row -->
我的JavaScript代碼是:
<script>
var Cart=[];
function Add(id,name,price)
{
var item={
Pid:id,
PNme:name,
Price:price,
quantity:'1'
};
var Cartitem = JSON.stringify(item);
Cart.push(Cartitem);
window.localStorage.setItem("Cart",JSON.stringify(Cart));
}
它工作正常並且數據存儲在localstorage ..但是我想訪問這些對象的屬性(鍵和值),例如購物車html表中的Pid和PNme。 購物車頁面javascript是:
var cartitem = JSON.parse(localStorage.getItem("Cart"));
alert(cartitem);
查看我要在其中添加這些值的位置。 購物車表我該怎么做... ..(對英語不佳表示抱歉)
您需要解析作為JSON.parse(localStorage.getItem("Cart"))
結果的數組項:
var cartitem = JSON.parse(localStorage.getItem("Cart")).map(JSON.parse);
你可以做這樣的事情
var cartitem=JSON.parse(JSON.parse(window.localStorage.getItem("Cart")));
試試這個,希望它能滿足您的要求
var cartitem = JSON.parse(localStorage.getItem("Cart"));
var i=0, len = cartitem.length;
var dbArray = [], tmpArr = [];
for(;i<len;i++){
tmpArr.push(cartitem[i].Pid);
tmpArr.push(cartitem[i].PNme);
tmpArr.push(cartitem[i].Price);
tmpArr.push(cartitem[i].quantity);
dbArray.push(tmpArr);
tmpArr = [];
}
console.log("Final Db ready Array of records");
console.log(dbArray);
output will be :
[
["abc1", "New Suite", "40400", "1"],
["abc2", "New Suite2", "2547", "1"],
["abc3", "New Suite3", "100", "8"],
["abc4", "New Suite4", "8500", "6"],
["abc5", "New Suite5", "10000", "2"],
["abc6", "New Suite6", "32000", "1"],
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.