2017-04-23 62 views
1

我目前有一个产品页面,用户可以将项目添加到购物篮。一旦项目被添加,它将产品ID存储在本地存储器中。我希望能够将他们选择的所有物品添加到购物车页面,显示价格,名称和图像。我不确定如何去解决这个问题,请你帮我解决。 ,增加了一个项目到篮使用ID从数组中填充JSON页面

{ 
    "products": [{ 
     "id": "0", 
     "name": "Logitech G910 Orion Spectrum RGB Mechanical Gaming Keyboard - UK-Layout", 
     "price": "119.99", 
     "category": "0", 
     "description": "Logitech 920-008017 G910 Orion Spectrum RGB Mechanical Gaming Keyboard - Black.", 
     "images": [{ 
      "id": "0", 
      "src": "images/00.jpg" 
      }, 
      { 
      "id": "1", 
      "src": "images/01.jpg" 
      }, 
      { 
      "id": "2", 
      "src": "images/02.jpg" 
      } 
     ] 
     }, 

代码:与具有一个唯一的ID每个产品

数据结构

$('#myTable').on('click', '.cartbutton', function() { 
    var row = $(this).parents('tr'); 
    console.log(row.attr('id'), row.data('price')); 


    added.push(row.attr('id')); 
    localStorage.setItem("cartItems", JSON.stringify(added)); 
    var storeddata=localStorage.getItem("cartItems"); 
    console.log(storeddata); 
    }) 

所得阵列的例子:

["0", "0", "0", "1", "1"] 
+0

很大程度上取决于您对此应如何工作的期望。特别是关于服务器交互和/或购物车购买。总体问题太广泛了。尝试缩小到更具体的细节 – charlietfl

+0

@charlietfl我不想让它发送详细信息到服务器此刻,只是用购物篮内容更新购物车页面。只是使用这个练习来让我的脑袋绕过本地存储和jquery/javascript –

+0

然后做一些搜索如何筛选一个阵列基于另一个阵列。如果你存储了整个产品,而不仅仅是他们的ID,那么也会更简单 – charlietfl

回答

0

当您需要列出像

这样的产品时,您可以迭代阵列
var products = //Your Product Array 
for(var i in storeddata) 
{ 
     var id = storeddata[i]; 
     var obj = products.filter(function (obj) { 
     return obj.id === id; 
     })[0]; 
     console.log(obj);//This will be you product 
}