JavaScript将可变数值存储为Cookie或会话

时间:2018-08-28 15:32:00

标签: javascript jquery cookies session-cookies shopping-cart

如何存储一个变量,该变量将在cookie加载后将总数保存为cookie或任何方法,即使在页面加载后也可以存储数据。我有一个JavaScript练习,用户选择项目,然后显示它们的总数。显示总计后,他们必须输入付款方式(即金额)。然后,我想退还其找零金额。这就是为什么我需要在页面加载后存储总变量值的原因。下面是我的代码。

      var shoppingItems = {         “不锈钢锅”:29.99,         “迷你不锈钢搅拌机”:19.99,         “厨房毛巾套装”:7.99,         “大棕褐色咖啡杯”:5.49,         “ 5个圆形餐盘套装”:5.99,         “盐和胡椒瓶套装”:1.99,         “大蓝扫帚”:3.98,         “粉红色肥皂碟”:2.50,         “银色浴室垃圾桶”:6.99,         “丝黑色浴室长袍”:9.99,       };

  var itemsSelectedValues = [];
  var total = 0;
  function listOfCheckedItems(catalogToLookFrom) {
    var yourItemsPurchased = $("input:checkbox:checked");
    for (i = 0; i < yourItemsPurchased.length; i++) {
         itemsSelectedValues.push(yourItemsPurchased[i].value);
    } // line closes for loop
    console.log(itemsSelectedValues);
    for (i = 0; i < itemsSelectedValues.length; i++) {
      total = total + catalogToLookFrom[itemsSelectedValues[i]];
    } // closes for loop
    document.getElementById("yourPurchase").innerHTML = "Your items purchased <strong>" + itemsSelectedValues + "</strong> came to a total of <br/><strong>$" + total + "</strong>";
  } // line closes listOfCheckedItems function

  function getOrderTotal() {
    listOfCheckedItems(shoppingItems);
  }

//////////上面的所有代码均有效。但是,var total变量是我需要的Cookie或某种类型的JavaScript会话变量。

下面的代码是我计算用户总数的原因,以及为什么我需要保存可变的总数值。我需要能够减去用户支付的金额及其产品总数。有人可以帮我吗?

  function whatUserPaidWith() {
    var amountUserPaid = $("#amountPaid").val();
    var customerChange = amountUserPaid - total;
    document.getElementById("displayUserChange").innerHTML = "You paid <strong>" + amountUserPaid + "</strong> your change due is <strong>" + customerChange + "</strong>";

  }

HTML代码   选择您的项目,然后在收银机上结帐     

选择1个或多个要在注册处购买的商品

         百货商店物品

    不锈钢锅-$ 29.99
    迷你不锈钢搅拌机-$ 19.99
    厨房巾套装-$ 7.99
    大棕褐色咖啡杯-$ 5.49
    5个圆形餐盘套装-$ 5.99
    Salt and Pepper Shaker Set-$ 1.99
    大号蓝色扫帚-3.98美元
    粉色肥皂盒-$ 2.5
    银色浴室垃圾桶-$ 6.99
    丝绸黑色浴室长袍-9.99美元     
    
    提交     
    
    

    
    

您将如何付款?

    

请输入以下您要支付的金额。

    输入总额:     
    
    提交     
    
    

1 个答案:

答案 0 :(得分:1)

您可以使用sessionStorage api将值保留在会话中。

为此,只需将变量作为属性添加到O(n)对象上:

sessionStorage

要稍后访问该值,可以通过引用该属性来实现:

sessionStorage.setItem('totalNumericValue ', 300);