我正在使用asp.net网页上的购物车。我以对象的形式将产品信息存储在数组中,并在用户点击“添加到购物车”按钮时保存在localStorage
中,并希望在购物车页面上访问该信息。 onclick event on add to cart按钮调用一个函数并将三个值发送到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表上访问这些对象属性(键和值),如Pids和PNme。 购物车页面javascript是:
var cartitem = JSON.parse(localStorage.getItem("Cart"));
alert(cartitem);
查看我想要添加这些值的位置.. Shopping Cart table 我怎样才能做到这一点... ..(抱歉英语不好)
答案 0 :(得分:0)
您需要解析JSON.parse(localStorage.getItem("Cart"))
:
var cartitem = JSON.parse(localStorage.getItem("Cart")).map(JSON.parse);
答案 1 :(得分:0)
你可以做这样的事情
Visible
答案 2 :(得分:0)
试试这个,我希望它能满足您的要求
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"],
]