更新sessionStorage对象中的值

我将此对象存储在sessionstorage中:

0: {FromName: "FName",FromLastName: "",FromAddress: "F Street",FromCountry: "Portugal",FromCity: "FC",…}
1: {FromName: "FName",…}
2: {FromName: "",FromAddress: "",FromCountry: "",FromCity: "",FromPostCode: "",…}

它显示购物车项目的列表。

当我在购物车上时,有一个按钮使我能够以表格形式显示值,并且它已经从sessionStorage中获取正确的值。

问题是,如何使用显示的表单和正确更新的对象来更新值?

这是从会话存储中的对象中获取正确值的代码:

  e.preventDefault();

  var itemsInCart = JSON.parse(sessionStorage.getItem('productList'));
  var ID = $(this).data('id');

  for (var i = 0; i < itemsInCart.length; i++) {

    var itemsinCartID = itemsInCart[i].keyID;

    if (ID == itemsinCartID) {

    $('.product-image').attr('src',itemsInCart[i].Product);
    $('#message').val(itemsInCart[i].Message);

    // from inputs
    var fromName = $('#from-name-input').val(itemsInCart[i].FromName);
    var fromLastName = $('#from-last-name-input').val(itemsInCart[i].FromLastName);
    var fromAddress = $('#from-address-input').val(itemsInCart[i].FromAddress);
    var fromCountry = $('#from-country-input').val(itemsInCart[i].FromCountry);
    var fromCity = $('#from-city-input').val(itemsInCart[i].FromCity);
    var fromPostCode = $('#from-postalcode-input').val(itemsInCart[i].FromPostCode);
    var fromPhone = $('#from-phone-input').val(itemsInCart[i].FromPhone);

    // to inputs
     var toName = $('#to-name-input').val(itemsInCart[i].ToName);
     var toLastName = $('#to-last-name-input').val(itemsInCart[i].ToLastName);
     var toAddress = $('#to-address-input').val(itemsInCart[i].ToAddress);
     var toCountry = $('#to-country-input').val(itemsInCart[i].ToCountry);
     var toCity = $('#to-city-input').val(itemsInCart[i].ToCity);
     var toPostCode = $('#to-postalcode-input').val(itemsInCart[i].ToPostCode);
     var toPhone = $('#to-phone-input').val(itemsInCart[i].ToPhone);
    break;
    }
  }

});

这是上面的代码填充的表单:

更新sessionStorage对象中的值

然后我要使用单击表单中的“编辑消息”按钮来更新我在表单中更改的新值。

zhng41 回答:更新sessionStorage对象中的值

如果我理解正确。您想用表单中的新项更新sessionStorage项。是? 我会考虑将代码更改为:

const tempObject = {
  FromName: $('#from-name-input').val(itemsInCart[i].FromName),FromLastName = $('#from-last-name-input').val(itemsInCart[i].FromLastName)
}
Object.assign(itemsInCart,tempObject)
sessionStorage.setItem('productList',JSON.strigify(itemsInCart));
本文链接:https://www.f2er.com/3151800.html

大家都在问