ノックアウトビューモデルへのajaxコールによってJSONペイロードが配信されています。私はすべてのカテゴリを反復処理foreachループ、次いで第2のforeachループを持っている私のテンプレートの内部コントロールを動的にレンダリングし、ノックアウトでそれらにバインドしますか?
{
"categories":[
{
"name":"Category 1",
"questions":[
{
"id": 1,
"questionText":"Question?",
"controlType":"text"
},
{
"id": 2,
"questionText":"Question?",
"controlType":"radiobutton",
"possibleAnswers":[
{
"answerId":1,
"text":"Yes"
},
{
"answerId":2,
"text":"No"
}
]
}
]
}
]
}
そのそのカテゴリの質問のすべてを反復:ペイロードの構造が似ています。その動的にすることができます私は、関数を作っ
[
{
"questionId":1,
"answerId":1
}
]
:私は、動的に各質問の「controlType」に基づいて入力、選択、およびテキストエリアを作成し、同様の構造を持つobservableArrayにこれらをバインドする必要よforeach内でhtmlをレンダリングしますが、残りの処理方法はわかりません。
はここでデモテンプレートです:
<div data-bind="foreach:categories">
<h2 data-bind="text:name"></h2>
<div data-bind="foreach:questions">
<span data-bind="text:questionText"></span>
<div data-bind="html:$parents[0].createControl($data)"></div>
</div>
</div>
私はどのように結合して、これらの入力から結果を格納するのでしょうか?