2014-12-02 9 views
-1

У меня есть форма, где я хочу иметь возможность редактировать/изменять данные. Данные поступают из файла JSON и выглядит следующим образом:Как генерировать входы формы html от json?

data:{ 
    "contest_id": 26, 
    "question": { 
     "title": "what is the capital of germany?", 
     "question_id": 27, 
     "answers": [ 
      { 
      "answer_id": 76, 
      "answer": "Hamburg", 
      "correct" : "false"    
      }, 
      { 
      "answer_id": 77, 
      "answer": "Munich", 
      "correct" : "false" 
      }, 
      { 
      "answer_id": 78, 
      "answer": "Berlin", 
      "correct" : "true" 
      } 
     ] 
    } 
} 

Мой основной HTML (от редактирования всплывающего окна) выглядит следующим образом:

// this is just a snippet of the entire form 

<input type="radio" id="answerChk_" name="correct"> 
<input type="text" required></input> 
<input type="hidden" id="answer_" value=""></input> 

Итак, что я хочу добиться того, чтобы принести и введите ответы + answer_id и ответ правильный или нет -> чтобы я мог публиковать и обновлять базу данных.

Как это возможно? Я не хочу использовать любые плагины ...

Я ценю любую помощь!

+0

Какие термины вы использовали? – Jonast92

+0

@vch вы абсолютно правы, моя ошибка ... не должна была быть там ... – Steve

+0

'' 's закрываются ... – War10ck

ответ

1

Вы можете Петля trought массив и добавьте HTML как это:

$.each(data.question.answers, function() { 
    $("YourForm").append('<input type="radio" id="answerChk_'+ this.answer_id +'" name="correct" selected="'+this.correct +'">'); 
    $("YourForm").append('<input type="text" required>'+ this.answer+'</input>'); 
    $("YourForm").append('<input type="hidden" id="answer_'+ this.answer_id +'" value="'+ this.answer+'"></input>'); 
}); 

Я надеюсь, что вы получите эту идею.

+0

Спасибо большое! Это работает для меня :-) – Steve

Смежные вопросы