2014-02-12 4 views
2

Я принимаю вопросы от пользователя и сохранять их в DOM, используя Lawnchair.first шаг декларацииконкатенации массив объектов с JavaScript

var dbQuestions = new Lawnchair({name:'questions'}, function(obj) { consol('questions initialized'); }); 

Пользователь может ввести QuestionText, Choice, NextQuestionID и нажмите save.Then каждый вопрос преобразуется в формат ниже

var survey= { 
"name": "Internet Based survey", 
"sortOrder":10, 
"questions" : [ 
    { "QuestionID": "1", "SurveyID":1, "QuestionText":"Excuse me Sir/Madame, do you have 60 seconds to answer a few questions today?", "SortOrder":"10", "Choices": [{ "ChoiceID":"1", "Choice":"Yes", "NextQuestionID":"3", "InitiateSurvey":"true" }, 
         { "ChoiceID":"2", "Choice":"No", "NextQuestionID":"1" }, 
         { "ChoiceID":"3", "Choice":"What is it About?", "NextQuestionID":"2" }] 
    }]}; 

и сохраняет

dbQuestions.save({key:'Q',value:survey},function(obj) { 
    consol('Question Saved successfully'); 

}); 

После сохранения первого вопроса пользователь вводит следующий вопрос. Вышеуказанный метод работает отлично, но мне нужно сохранить другой способ. предположим, что пользователь сохраняет 3 вопроса, и я хочу сохранить их в нижнем формате, чтобы я мог легко получить доступ к вопросам.

var survey = { 
"name": "Internet Based survey", 
"sortOrder":10, 
"questions" : [ 
    { "QuestionID": "1", "SurveyID":1, "QuestionText":"Excuse me Sir/Madame, do you have 60 seconds to answer a few questions today?", "SortOrder":"10", "Choices": [{ "ChoiceID":"1", "Choice":"Yes", "NextQuestionID":"3", "InitiateSurvey":"true" }, 
         { "ChoiceID":"2", "Choice":"No", "NextQuestionID":"1" }, 
         { "ChoiceID":"3", "Choice":"What is it About?", "NextQuestionID":"2" }] 
    }, 
    { "QuestionID": "2", "SurveyID":1, "QuestionText":"It is about a way to earn a little extra money with a side business", "SortOrder":"15", "Choices":[{ "ChoiceID":"1", "Choice":"Yes", "NextQuestionID":"3", "InitiateSurvey":"true" }, 
       { "ChoiceID":"2", "Choice":"No", "NextQuestionID":"1" }] 
    }, 
    { "QuestionID": "3", "SurveyID":1, "QuestionText":"Are you on the internet?", "SortOrder":"10", 
     "Choices":[{ "ChoiceID":"4", "Choice":"Yes", "NextQuestionID":"4" }, 
        { "ChoiceID":"5", "Choice":"No", "NextQuestionID":"1" }] 
    }]}; 

Так что мой вопрос в том, как я могу сохранить вопросы, где каждый вопрос будет сохранен под атрибутом вопроса.

Заранее спасибо.

ответ

2

Вы можете попробовать это

var index = 0; // number of question 
$.each(previousData.question,function(){ 
     finalArray[index] = previousData.question[index]; //contain array 
     index++; //here index is number of question 
}); 

finalArray[index] = data.question; 
data = {'question': finalArray }; // convert array to object