【问题标题】:JSON save selected items on array and pass to other pageJSON将所选项目保存在数组中并传递到其他页面
【发布时间】:2025-12-10 07:05:04
【问题描述】:

所以我有 2 页。 在一个表中,我有一个从 JSON 页面获取数据的表,并且我在每一行上插入了一个按钮,每当单击该按钮时,它都应该在数组中获取该项目。 然后,该数组应该在第二页上给出结果。

我可以毫无问题地从 JSON 中获取信息,但无法将信息存储在数组中。有人能帮我吗?我是 JavaScript 新手。

第 1 页:

 <script>

<!-- Retrieve data from file -->
var products=[];
var cartArray=[];
var product_array=[];
$.getJSON('products.json',function(data){
    $.each(data.products, function(i, f){
        var img = f.image_url;
        var title = f.title;
        var price = f.price;
        var old_price = f.old_price;
        product_array.push([img, title, price]);

        var tblCell = "<tr><td class='prod_container'><tr><td class='prod_img_container'><img class='prod_img' src=" + img + "></td></tr>" + "<tr class='title_container'><td class='title'>" + title + "</td></tr>" + "<tr class='price_container'><td class='price'>" + price + "</td>" + "<td class='price_org'>" + old_price + "</td>" + "<td class='add_cart'><img class='add_cart_img' src='img/buynow-green-6.png' onClick='addToCart()'>" + "</td></tr>"

        $(tblCell).appendTo("#list_products tbody");
    });
}); 

<!-- Add To Cart -->
function addToCart(){
    cartArray.push([product_array.title, product_array.img, product_array.price]);
    window.alert(cartArray);
}

<!-- Store and go to checkout -->
function goToCheckout(){

    $('#store').on('click', function(){
        localStorage.cartArray = cartArray;


    });

    window.location.href="cart.html";

}

【问题讨论】:

  • 您希望将数据存储在 JavaScript 或 PHP 数组中吗?
  • 您能举个例子说明您希望 localStorage.cartArray 的样子吗?
  • 哦。我真的不知道。是更好的 JS 还是 PHP?我只想«在单击另一个“最终”按钮时存储该行上的信息并传递到下一页

标签: javascript php jquery arrays json


【解决方案1】:

不确定你最终需要的数据结构,但如果你想要一个多维数组:

var cartArray = []
function addToCart(product_array){
    cartArray.push([product_array.title, product_array.img, product_array.price];
    window.alert(cartArray);
}

【讨论】:

  • 也许我没有正确使用它,因为它不起作用。
  • 好吧,你的代码中有无数奇怪的东西。例如,您的处理程序如何获得对购物车项目的引用,并且 addToCart 不是累积的......而且我认为 title,img,price 将是未定义的。
  • hmm..我以为点击表格中的按钮购买,在相应的功能上,它会存储同一行的信息。显然那是一个非常愚蠢的想法。标题、价格和图片在前面定义。
  • 查看我的更改,我认为这应该可以满足您的需求,假设 product_array 已按预期通过。请记住,函数内部的变量是该函数的本地变量。 gotToCheckout 看不到 addToCart 中的变量。我将 cartArray 上移了一层,并将其初始化为空数组。
  • 好的。感谢您的评论,我管理了更多内容。我更新了我以前的代码。 (谢谢,我终于明白了它是如何工作的)。现在的问题是给出空白,而不是显示标题、图像和价格。
最近更新 更多