Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用数组中id的JSON填充页面_Javascript_Jquery - Fatal编程技术网

Javascript 使用数组中id的JSON填充页面

Javascript 使用数组中id的JSON填充页面,javascript,jquery,Javascript,Jquery,我目前有一个产品页面,用户可以在其中向购物篮添加项目。添加项目后,其将产品ID存储在本地存储器中。我想能够然后添加所有项目,他们选择的购物车页面,显示价格,名称和图像。我真的不知道该怎么办,你能帮我一下吗 每个产品具有唯一ID的数据结构: { "products": [{ "id": "0", "name": "Logitech G910 Orion Spectrum RGB Mechanical Gaming Keyboard - UK-Layout",

我目前有一个产品页面,用户可以在其中向购物篮添加项目。添加项目后,其将产品ID存储在本地存储器中。我想能够然后添加所有项目,他们选择的购物车页面,显示价格,名称和图像。我真的不知道该怎么办,你能帮我一下吗

每个产品具有唯一ID的数据结构:

{
  "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"
          }
        ]
      },
将项目添加到购物篮的代码:

$('#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"]

当需要列出以下产品时,可以迭代数组

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
}

当需要列出以下产品时,可以迭代数组

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
}

这在很大程度上取决于你对这项工作的期望。特别是在服务器交互和/或购物车购买方面。整个问题太宽泛了。试着把它缩小到更具体的范围details@charlietfl我现在不想让它将详细信息发送到服务器,只是想用购物篮内容更新购物车页面。将此作为练习,了解本地存储和jquery/JavaScription,然后搜索如何基于另一个数组过滤一个数组。如果存储整个产品,也会简单得多,而不仅仅是它们的ida批次取决于您对其工作方式的期望。特别是在服务器交互和/或购物车购买方面。整个问题太宽泛了。试着把它缩小到更具体的范围details@charlietfl我现在不想让它将详细信息发送到服务器,只是想用购物篮内容更新购物车页面。将此作为练习,了解本地存储和jquery/JavaScription,然后搜索如何基于另一个数组过滤一个数组。如果存储整个产品,而不仅仅是它们的id,也会简单得多