2013-07-29 3 views
1

jquery 객체를 성공적으로 생성 한 다음 목록을 반복하고 항목을 myObject 변수에 추가 한 다음 객체를 로컬 저장 변수.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)) 
+0

작품 벌금, 내가 제대로 속성을 작성, 왜 새 하위 개체에 대한 변수를 설정하지 않는'I' –

+0

을 정의하고 배열에 밀어하면? – Barmar

답변

1

I을 정의하지 않았습니다. 인덱스에 대해 걱정할 필요가 없습니다 대신에, 그래서 당신은 같은 것을 할 수 있습니다

var myObject = {}; 
myObject.Vehicle_Check = []; 
localStorage.setItem('checkobject', JSON.stringify(myObject)); 

...

var myObject = jQuery.parseJSON(localStorage.getItem('checkobject')); 
var next = { 
    question: 'First test!', 
    result: 'OK', 
    Fault: 'none' 
}; 
myObject.Vehicle_Check.push(next); 
localStorage.setItem('checkobject', JSON.stringify(myObject)); 

편집 -이 사용량에 따라, 더욱 일을 단순화 할 수 있습니다 : 나를 위해

myObject.Vehicle_Check.push({ 
    question: 'First test!', 
    result: 'OK', 
    Fault: 'none' 
}); 
+0

미안하지만 코드를 포함시키지 않았습니다! 나는 당신의 코드를 가지고 갈 것입니다 - 고마워요. – joebohen

+0

정확하게 필요한 코드를 보내 주셔서 감사합니다. – joebohen

+0

기꺼이 도와 드리겠습니다. –