Я хотел создать строку, которая может быть сохранена в localstorage, чтобы я мог добавить, удалить позже. Я хотел создать свою строку json в этом формате.Создание правильной строки json для хранения в localstorage
var frmTaxYear = [{
"CategoryDisplayText": abc,
"CategoryId": 1,
"taxyear": {
"taxYearId": 1,
"taxYearDisplayText": abc
}
}]
[{
"CategoryDisplayText": abc2,
"CategoryId": 2,
"taxyear": {
"taxYearId": 2,
"taxYearDisplayText": abc1
}
}]
код, который я написал,
function addToCart() {
var taxyearObj = [];
$('[name="Taxyear"]:checked').map(function() {
taxyearObj.push({
"taxYearId": this.value,
"taxYearDisplayText": $('label[id=' + this.id + ']').text()
});
});
if (localStorage.getItem("taxyear") !== null) {
// findAndRemove(localStorage.getItem("taxyear"), 'CategoryId', CategoryId.val());
var frmTaxYear = [{
"CategoryDisplayText": CategoryDisplayText.text(),
"CategoryId": CategoryId.val(),
"taxyear": taxyearObj
}];
var storedTaxyear = JSON.parse(localStorage.getItem("taxyear"));
storedTaxyear.push(frmTaxYear);
localStorage.setItem("taxyear", JSON.stringify(storedTaxyear));
} else {
var frmTaxYear = [{
"CategoryDisplayText": CategoryDisplayText.text(),
"CategoryId": CategoryId.val(),
"taxyear": taxyearObj
}];
localStorage.setItem('taxyear', JSON.stringify(frmTaxYear));
}
}
Но проблема заключается в, когда пользователь нажимает на добавить в корзину первый раз, она хранится в локальном хранилище как объект, и когда пользователь нажимает на добавить в корзину снова второй список хранится как массив
не работает, вар frmTaxYear = { "CategoryDisplayText": CategoryDisplayText.text(), "CategoryId": CategoryId.val(), "taxyear" : taxyearObj }; – user1681166
taxyearObj будет сгенерирован в петле foreach. – user1681166
@ user1681166 Да, код, который генерирует 'taxyearObj', должен оставаться неизменным. этот ответ заменяет ваш оператор 'if' – FuzzyTree