我成功創建然後保存對象作爲JSON字符串使用下面的代碼遍歷列表,並添加項目到myObject的變量,然後在本地存儲變量jQuery對象保存對象到本地存儲變量。JSON對象結構
var x =$("[name=checklist]").length;
var myObject = {};
myObject.Vehicle_Check = [x];
$("[name=checklist]").each(function(index){
if (index >0) {
myObject.Vehicle_Check.push({});
var PT = $("[name=problemtxt_" + index + "]").val(); //the fault label
var CL = $("[name=checklbl_" + index + "]").text(); //the question
var d = $("[name=optiongroup_" + index + "]:checked").val();
if (d == 'Item 1') {
d='OK'
}
else if (d == 'Item 2') {
d='Fault'
localStorage.setItem('fault', 1);
}
myObject.Vehicle_Check[index].question = CL;
myObject.Vehicle_Check[index].result = d;
myObject.Vehicle_Check[index].Fault = PT;
}
});
localStorage.setItem('results' ,JSON.stringify(myObject));
我試圖通過構建對象一個項目在同一時間將其保存到本地存儲變量然後當我想增加一個項目獲取對象從可變後使用parseJSON並添加做同樣的附加項目然後保存回變量。我沒有正確地工作。我應該如何正確構建這個?
Initiate the object:
var myObject = {};
myObject.Vehicle_Check = [18];
myObject.Vehicle_Check.push({});
localStorage.setItem('checkobject',JSON.stringify(myObject));
Add to the object:
var myObject = jQuery.parseJSON(localStorage.getItem('checkobject'));
myObject.Vehicle_Check.push({});
myObject.Vehicle_Check[I].question = 'First test!';
myObject.Vehicle_Check[I].result = 'OK';
myObject.Vehicle_Check[I].Fault = 'none';
localStorage.setItem('checkobject',JSON.stringify(myObject))
工作得很好,一旦我正確地定義'I' –
你爲什麼不變量設置爲新的子對象,填寫其屬性,然後將其推到數組? – Barmar